A class to hold gene model data for a genomic region.

# S4 method for GeneRegionTrack
initialize(.Object, start, end, ...)

# S4 method for ReferenceGeneRegionTrack
initialize(
  .Object,
  stream,
  reference,
  mapping = list(),
  args = list(),
  defaults = list(),
  ...
)

GeneRegionTrack(
  range = NULL,
  rstarts = NULL,
  rends = NULL,
  rwidths = NULL,
  strand,
  feature,
  exon,
  transcript,
  gene,
  symbol,
  chromosome,
  genome,
  stacking = "squish",
  name = "GeneRegionTrack",
  start = NULL,
  end = NULL,
  importFunction,
  stream = FALSE,
  ...
)

# S4 method for GeneRegionTrack
gene(GdObject)

# S4 method for GeneRegionTrack,character
gene(GdObject) <- value

# S4 method for GeneRegionTrack
symbol(GdObject)

# S4 method for GeneRegionTrack,character
symbol(GdObject) <- value

# S4 method for GeneRegionTrack
transcript(GdObject)

# S4 method for GeneRegionTrack,character
transcript(GdObject) <- value

# S4 method for GeneRegionTrack
exon(GdObject)

# S4 method for GeneRegionTrack,character
exon(GdObject) <- value

# S4 method for GeneRegionTrack
group(GdObject)

# S4 method for GeneRegionTrack,character
group(GdObject) <- value

# S4 method for GeneRegionTrack
identifier(
  GdObject,
  type = .dpOrDefault(GdObject, "transcriptAnnotation", "symbol")
)

# S4 method for GeneRegionTrack,character
identifier(GdObject) <- value

# S4 method for ReferenceGeneRegionTrack
subset(x, ...)

# S4 method for GeneRegionTrack
drawGD(GdObject, ...)

# S4 method for GeneRegionTrack
show(object)

# S4 method for ReferenceGeneRegionTrack
show(object)

Arguments

.Object

.Object

start, end

An integer scalar with the genomic start or end coordinate for the gene model range. If those are missing, the default value will automatically be the smallest (or largest) value, respectively in rstarts and rends for the currently active chromosome. When building a GeneRegionTrack from a TxDb object, these arguments can be used to subset the desired annotation data by genomic coordinates. Please note this in that case the chromosome parameter must also be set.

...

Additional items which will all be interpreted as further display parameters. See settings and the "Display Parameters" section below for details.

stream

A logical flag indicating that the user-provided import function can deal with indexed files and knows how to process the additional selection argument when accessing the data on disk. This causes the constructor to return a ReferenceGeneRegionTrack object which will grab the necessary data on the fly during each plotting operation.

reference

reference file

mapping

mapping

args

args

defaults

logical

range

An optional meta argument to handle the different input types. If the range argument is missing, all the relevant information to create the object has to be provided as individual function arguments (see below).

The different input options for range are:

A TxDb object:

all the necessary gene model information including exon locations, transcript groupings and associated gene ids are contained in TxDb objects, and the coercion between the two is almost completely automated. If desired, the data to be fetched from the TxDb object can be restricted using the constructor's chromosome, start and end arguments. See below for details. A direct coercion method as(obj, "GeneRegionTrack") is also available. A nice added benefit of this input option is that the UTR and coding region information that is part of the original TxDb object is retained in the GeneRegionTrack.

A GRanges object:

the genomic ranges for the GeneRegion track as well as the optional additional metadata columns feature, transcript, gene, exon and symbol (see description of the individual function parameters below for details). Calling the constructor on a GRanges object without further arguments, e.g. GeneRegionTrack(range=obj) is equivalent to calling the coerce method as(obj, "GeneRegionTrack").

A GRangesList object:

this is very similar to the previous case, except that the grouping information that is part of the list structure is preserved in the GeneRegionTrack. I.e., all the elements within one list item receive the same group id. For consistancy, there is also a coercion method from GRangesLists as(obj, "GeneRegionTrack"). Please note that unless the necessary information about gene ids, symbols, etc. is present in the individual GRanges meta data slots, the object will not be particularly useful, because all the identifiers will be set to a common default value.

An IRanges object:

almost identical to the GRanges case, except that the chromosome and strand information as well as all additional data has to be provided in the separate chromosome, strand, feature, transcript, symbol, exon or gene arguments, because it can not be directly encoded in an IRanges object. Note that only the former two are mandatory (if not provided explicitely the more or less reasonable default values chromosome=NA and strand=* are used, but not providing information about the gene-to-transcript relationship or the human-readble symbols renders a lot of the class' functionality useles.

A data.frame object:

the data.frame needs to contain at least the two mandatory columns start and end with the range coordinates. It may also contain a chromosome and a strand column with the chromosome and strand information for each range. If missing, this information will be drawn from the constructor's chromosome or strand arguments. In addition, the feature, exon, transcript, gene and symbol data can be provided as columns in the data.frame. The above comments about potential default values also apply here.

A character scalar:

in this case the value of the range argument is considered to be a file path to an annotation file on disk. A range of file types are supported by the Gviz package as identified by the file extension. See the importFunction documentation below for further details.

rstarts

An integer vector of the start coordinates for the actual gene model items, i.e., for the individual exons. The relationship between exons is handled via the gene and transcript factors. Alternatively, this can be a vector of comma-separated lists of integer coordinates, one vector item for each transcript, and each comma-separated element being the start location of a single exon within that transcript. Those lists will be exploded upon object instantiation and all other annotation arguments will be recycled accordingly to regenerate the exon/transcript/gene relationship structure. This implies the approriate number of items in all annotation and coordinates arguments.

rends

An integer vector of the end coordinates for the actual gene model items. Both rstarts and rends have to be of equal length.

rwidths

An integer vector of widths for the actual gene model items. This can be used instead of either rstarts or rends to specify the range coordinates.

strand

Character vector, the strand information for the individual track exons. It may be provided in the form + for the Watson strand, - for the Crick strand or * for either one of the two. Please note that all items within a single gene or transcript model need to be on the same strand, and erroneous entries will result in casting of an error.

feature

Factor (or other vector that can be coerced into one), giving the feature types for the individual track exons. When plotting the track to the device, if a display parameter with the same name as the value of feature is set, this will be used as the track item's fill color. Additionally, the feature type defines whether an element in the GeneRegionTrack is considered to be coding or non-coding. The details section as well as the section about the thinBoxFeature display parameter further below has more information on this. See also grouping for details.

exon

Character vector of exon identifiers. It's values will be used as the identifier tag when plotting to the device if the display parameter showExonId=TRUE.

transcript

Factor (or other vector that can be coerced into one), giving the transcript memberships for the individual track exons. All items with the same transcript identifier will be visually connected when plotting to the device. See grouping for details. Will be used as labels when showId=TRUE, and geneSymbol=FALSE.

gene

Factor (or other vector that can be coerced into one), giving the gene memberships for the individual track exons.

symbol

A factor with human-readable gene name aliases which will be used as labels when showId=TRUE, and geneSymbol=TRUE.

chromosome

The chromosome on which the track's genomic ranges are defined. A valid UCSC chromosome identifier if options(ucscChromosomeNames=TRUE). Please note that in this case only syntactic checking takes place, i.e., the argument value needs to be an integer, numeric character or a character of the form chrx, where x may be any possible string. The user has to make sure that the respective chromosome is indeed defined for the the track's genome. If not provided here, the constructor will try to build the chromosome information based on the available inputs, and as a last resort will fall back to the value chrNA. Please note that by definition all objects in the Gviz package can only have a single active chromosome at a time (although internally the information for more than one chromosome may be present), and the user has to call the chromosome<- replacement method in order to change to a different active chromosome. When creating a GeneRegionTrack from a TxDb object, the value of this parameter can be used to subset the data to fetch only transcripts from a single chromosome.

genome

The genome on which the track's ranges are defined. Usually this is a valid UCSC genome identifier, however this is not being formally checked at this point. If not provided here the constructor will try to extract this information from the provided inputs, and eventually will fall back to the default value of NA.

stacking

The stacking type for overlapping items of the track. One in c(hide, dense, squish, pack,full). Currently, only hide (don't show the track items, squish (make best use of the available space) and dense (no stacking at all) are implemented.

name

Character scalar of the track's name used in the title panel when plotting.

importFunction

A user-defined function to be used to import the data from a file. This only applies when the range argument is a character string with the path to the input data file. The function needs to accept an argument x containing the file path and has to return a proper GRanges object with all the necessary metadata columns set. A set of default import functions is already implemented in the package for a number of different file types, and one of these defaults will be picked automatically based on the extension of the input file name. If the extension can not be mapped to any of the existing import function, an error is raised asking for a user-defined import function via this argument. Currently the following file types can be imported with the default functions: gff, gff1, gff2, gff3, gtf.

GdObject

Object of GdObject-class.

value

Value to be set.

type

type

x

A valid track object class name, or the object itself, in which case the class is derived directly from it.

object

object

Value

The return value of the constructor function is a new object of class GeneRegionTrack.

Details

A track containing all gene models in a particular region. The data are usually fetched dynamially from an online data store, but it is also possible to manully construct objects from local data. Connections to particular online data sources should be implemented as sub-classes, and GeneRegionTrack is just the commone denominator that is being used for plotting later on. There are several levels of data associated to a GeneRegionTrack:

exon level:

identifiers are stored in the exon column of the GRanges object in the range slot. Data may be extracted using the exon method.

transcript level:

identifiers are stored in the transcript column of the GRanges object. Data may be extracted using the transcript method.

gene level:

identifiers are stored in the gene column of the GRanges object, more human-readable versions in the symbol column. Data may be extracted using the gene or the symbol methods.

transcript-type level:

information is stored in the feature column of the GRanges object. If a display parameter of the same name is specified, the software will use its value for the coloring.

GeneRegionTrack objects also know about coding regions and non-coding regions (e.g., UTRs) in a transcript, and will indicate those by using different shapes (wide boxes for all coding regions, thinner boxes for non-coding regions). This is archived by setting the feature values of the object for non-coding elements to one of the options that are provided in the thinBoxFeature display parameters. All other elements are considered to be coding elements.

Functions

  • initialize(GeneRegionTrack): Initialize.

  • ReferenceGeneRegionTrack-class: The file-based version of the GeneRegionTrack-class.

  • initialize(ReferenceGeneRegionTrack): Initialize.

  • GeneRegionTrack(): Constructor function for GeneRegionTrack-class.

  • gene(GeneRegionTrack): Extract the gene identifiers for all gene models.

  • gene(GdObject = GeneRegionTrack) <- value: Replace the gene identifiers for all gene models. The replacement value must be a character of appropriate length or another vector that can be coerced into such.

  • symbol(GeneRegionTrack): Extract the human-readble gene symbol for all gene models.

  • symbol(GdObject = GeneRegionTrack) <- value: Replace the human-readable gene symbol for all gene models. The replacement value must be a character of appropriate length or another vector that can be coerced into such.

  • transcript(GeneRegionTrack): Extract the transcript identifiers for all transcripts in the gene models.

  • transcript(GdObject = GeneRegionTrack) <- value: Replace the transcript identifiers for all transcripts in the gene model. The replacement value must be a character of appropriate length or another vector that can be coerced into such.

  • exon(GeneRegionTrack): Extract the exon identifiers for all exons in the gene models.

  • exon(GdObject = GeneRegionTrack) <- value: replace the exon identifiers for all exons in the gene model. The replacement value must be a character of appropriate length or another vector that can be coerced into such.

  • group(GeneRegionTrack): extract the group membership for all track items.

  • group(GdObject = GeneRegionTrack) <- value: replace the grouping information for track items. The replacement value must be a factor of appropriate length or another vector that can be coerced into such.

  • identifier(GeneRegionTrack): return track item identifiers. Depending on the setting of the optional argument lowest, these are either the group identifiers or the individual item identifiers. export

  • identifier(GdObject = GeneRegionTrack) <- value: Set the track item identifiers. The replacement value has to be a character vector of appropriate length. This always replaces the group-level identifiers, so essentially it is similar to groups<-.

  • subset(ReferenceGeneRegionTrack): Subset a GeneRegionTrack by coordinates and sort if necessary.

  • drawGD(GeneRegionTrack): plot the object to a graphics device. The return value of this method is the input object, potentially updated during the plotting operation. Internally, there are two modes in which the method can be called. Either in 'prepare' mode, in which case no plotting is done but the object is preprocessed based on the available space, or in 'plotting' mode, in which case the actual graphical output is created. Since subsetting of the object can be potentially costly, this can be switched off in case subsetting has already been performed before or is not necessary.

  • show(GeneRegionTrack): Show method.

  • show(ReferenceGeneRegionTrack): Show method.

Objects from the class

Objects can be created using the constructor function GeneRegionTrack.

Author

Florian Hahne, Steve Lianoglou

Examples



## The empty object
GeneRegionTrack()
#> GeneRegionTrack 'GeneRegionTrack'
#> | genome: NA
#> | active chromosome: chrNA
#> | annotation features: 0

## Load some sample data
data(cyp2b10)

## Construct the object
grTrack <- GeneRegionTrack(
    start = 26682683, end = 26711643,
    rstart = cyp2b10$start, rends = cyp2b10$end, chromosome = 7, genome = "mm9",
    transcript = cyp2b10$transcript, gene = cyp2b10$gene, symbol = cyp2b10$symbol,
    feature = cyp2b10$feature, exon = cyp2b10$exon,
    name = "Cyp2b10", strand = cyp2b10$strand
)

## Directly from the data.frame
grTrack <- GeneRegionTrack(cyp2b10)

## From a TxDb object
if (require(GenomicFeatures)) {
    samplefile <- system.file("extdata",
                              "hg19_knownGene_sample.sqlite",
                              package = "GenomicFeatures")
    txdb <- loadDb(samplefile)
    GeneRegionTrack(txdb)
    GeneRegionTrack(txdb, chromosome = "chr6", start = 35000000, end = 40000000)
}
#> Loading required package: GenomicFeatures
#> Loading required package: AnnotationDbi
#> Loading required package: Biobase
#> Welcome to Bioconductor
#> 
#>     Vignettes contain introductory material; view with
#>     'browseVignettes()'. To cite Bioconductor, see
#>     'citation("Biobase")', and for packages 'citation("pkgname")'.
#> GeneRegionTrack 'GeneRegionTrack'
#> | genome: hg19
#> | active chromosome: chr6
#> | annotation features: 71
# \dontshow{
## For some annoying reason the postscript device does not know about
## the sans font
if (!interactive()) {
    font <- ps.options()$family
    displayPars(grTrack) <- list(fontfamily = font, fontfamily.title = font)
}
# }

## Plotting
plotTracks(grTrack)


## Track names
names(grTrack)
#> [1] "GeneRegionTrack"
names(grTrack) <- "foo"
plotTracks(grTrack)


## Subsetting and splitting
subTrack <- subset(grTrack, from = 26700000, to = 26705000)
length(subTrack)
#> [1] 0
subTrack <- grTrack[transcript(grTrack) == "ENSMUST00000144140"]
split(grTrack, transcript(grTrack))
#> $ENSMUST00000005477
#> GeneRegionTrack 'foo'
#> | genome: NA
#> | active chromosome: chr7
#> | annotation features: 12
#> 
#> $ENSMUST00000072438
#> GeneRegionTrack 'foo'
#> | genome: NA
#> | active chromosome: chr7
#> | annotation features: 11
#> 
#> $ENSMUST00000144140
#> GeneRegionTrack 'foo'
#> | genome: NA
#> | active chromosome: chr7
#> | annotation features: 2
#> 

## Accessors
start(grTrack)
#>  [1] 25897620 25897676 25897685 25897685 25911238 25911238 25911554 25911554
#>  [9] 25913865 25913865 25914748 25914748 25915392 25915392 25916766 25916934
#> [17] 25916934 25917288 25917288 25917288 25925373 25926068 25926068 25926250
#> [25] 25926250
end(grTrack)
#>  [1] 25897684 25897684 25897855 25897855 25911400 25911400 25911703 25911703
#>  [9] 25914025 25914025 25914924 25914924 25915533 25915533 25917121 25917121
#> [17] 25917121 25917429 25917429 25917430 25925399 25926249 25926249 25926559
#> [25] 25926624
width(grTrack)
#>  [1]  65   9 171 171 163 163 150 150 161 161 177 177 142 142 356 188 188 142 142
#> [20] 143  27 182 182 310 375
position(grTrack)
#>  [1] 25897652 25897680 25897770 25897770 25911319 25911319 25911628 25911628
#>  [9] 25913945 25913945 25914836 25914836 25915462 25915462 25916944 25917028
#> [17] 25917028 25917358 25917358 25917359 25925386 25926158 25926158 25926404
#> [25] 25926437
width(subTrack) <- width(subTrack) + 100

strand(grTrack)
#>  [1] "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+" "+"
#> [20] "+" "+" "+" "+" "+" "+"
strand(subTrack) <- "-"

chromosome(grTrack)
#> [1] "chr7"
chromosome(subTrack) <- "chrX"

genome(grTrack)
#> [1] NA
genome(subTrack) <- "hg19"

range(grTrack)
#> IRanges object with 25 ranges and 0 metadata columns:
#>            start       end     width
#>        <integer> <integer> <integer>
#>    [1]  25897620  25897684        65
#>    [2]  25897676  25897684         9
#>    [3]  25897685  25897855       171
#>    [4]  25897685  25897855       171
#>    [5]  25911238  25911400       163
#>    ...       ...       ...       ...
#>   [21]  25925373  25925399        27
#>   [22]  25926068  25926249       182
#>   [23]  25926068  25926249       182
#>   [24]  25926250  25926559       310
#>   [25]  25926250  25926624       375
ranges(grTrack)
#> GRanges object with 25 ranges and 7 metadata columns:
#>        seqnames            ranges strand |        feature          id
#>           <Rle>         <IRanges>  <Rle> |       <factor> <character>
#>    [1]     chr7 25897620-25897684      + | utr5               unknown
#>    [2]     chr7 25897676-25897684      + | utr5               unknown
#>    [3]     chr7 25897685-25897855      + | protein_coding     unknown
#>    [4]     chr7 25897685-25897855      + | protein_coding     unknown
#>    [5]     chr7 25911238-25911400      + | protein_coding     unknown
#>    ...      ...               ...    ... .            ...         ...
#>   [21]     chr7 25925373-25925399      + | protein_coding     unknown
#>   [22]     chr7 25926068-25926249      + | protein_coding     unknown
#>   [23]     chr7 25926068-25926249      + | protein_coding     unknown
#>   [24]     chr7 25926250-25926559      + | utr3               unknown
#>   [25]     chr7 25926250-25926624      + | utr3               unknown
#>                      exon         transcript               gene   symbol
#>                  <factor>           <factor>           <factor> <factor>
#>    [1] ENSMUSE00000742021 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10
#>    [2] ENSMUSE00000489385 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10
#>    [3] ENSMUSE00000742021 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10
#>    [4] ENSMUSE00000489385 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10
#>    [5] ENSMUSE00000973560 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10
#>    ...                ...                ...                ...      ...
#>   [21] ENSMUSE00000496705 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10
#>   [22] ENSMUSE00000498616 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10
#>   [23] ENSMUSE00000750625 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10
#>   [24] ENSMUSE00000750625 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10
#>   [25] ENSMUSE00000498616 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10
#>          density
#>        <numeric>
#>    [1]         1
#>    [2]         1
#>    [3]         1
#>    [4]         1
#>    [5]         1
#>    ...       ...
#>   [21]         1
#>   [22]         1
#>   [23]         1
#>   [24]         1
#>   [25]         1
#>   -------
#>   seqinfo: 1 sequence from an unspecified genome; no seqlengths

## Annotation
identifier(grTrack)
#>  [1] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#>  [8] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#> [15] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#> [22] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
identifier(grTrack, "lowest")
#>  [1] "ENSMUSE00000742021" "ENSMUSE00000489385" "ENSMUSE00000742021"
#>  [4] "ENSMUSE00000489385" "ENSMUSE00000973560" "ENSMUSE00000973560"
#>  [7] "ENSMUSE00001043622" "ENSMUSE00001043622" "ENSMUSE00001013991"
#> [10] "ENSMUSE00001013991" "ENSMUSE00000996531" "ENSMUSE00000996531"
#> [13] "ENSMUSE00000999790" "ENSMUSE00000999790" "ENSMUSE00000736922"
#> [16] "ENSMUSE00000963884" "ENSMUSE00000963884" "ENSMUSE00001063063"
#> [19] "ENSMUSE00001063063" "ENSMUSE00000748299" "ENSMUSE00000496705"
#> [22] "ENSMUSE00000498616" "ENSMUSE00000750625" "ENSMUSE00000750625"
#> [25] "ENSMUSE00000498616"
identifier(subTrack) <- "bar"

feature(grTrack)
#>  [1] "utr5"           "utr5"           "protein_coding" "protein_coding"
#>  [5] "protein_coding" "protein_coding" "protein_coding" "protein_coding"
#>  [9] "protein_coding" "protein_coding" "protein_coding" "protein_coding"
#> [13] "protein_coding" "protein_coding" "protein_coding" "protein_coding"
#> [17] "protein_coding" "protein_coding" "protein_coding" "protein_coding"
#> [21] "protein_coding" "protein_coding" "protein_coding" "utr3"          
#> [25] "utr3"          
feature(subTrack) <- "foo"

exon(grTrack)
#>  [1] "ENSMUSE00000742021" "ENSMUSE00000489385" "ENSMUSE00000742021"
#>  [4] "ENSMUSE00000489385" "ENSMUSE00000973560" "ENSMUSE00000973560"
#>  [7] "ENSMUSE00001043622" "ENSMUSE00001043622" "ENSMUSE00001013991"
#> [10] "ENSMUSE00001013991" "ENSMUSE00000996531" "ENSMUSE00000996531"
#> [13] "ENSMUSE00000999790" "ENSMUSE00000999790" "ENSMUSE00000736922"
#> [16] "ENSMUSE00000963884" "ENSMUSE00000963884" "ENSMUSE00001063063"
#> [19] "ENSMUSE00001063063" "ENSMUSE00000748299" "ENSMUSE00000496705"
#> [22] "ENSMUSE00000498616" "ENSMUSE00000750625" "ENSMUSE00000750625"
#> [25] "ENSMUSE00000498616"
exon(subTrack) <- letters[1:2]

gene(grTrack)
#>  [1] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#>  [4] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#>  [7] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#> [10] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#> [13] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#> [16] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#> [19] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#> [22] "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483"
#> [25] "ENSMUSG00000030483"
gene(subTrack) <- "bar"

symbol(grTrack)
#>  [1] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#>  [8] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#> [15] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#> [22] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
symbol(subTrack) <- "foo"

transcript(grTrack)
#>  [1] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000072438"
#>  [4] "ENSMUST00000005477" "ENSMUST00000072438" "ENSMUST00000005477"
#>  [7] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000072438"
#> [10] "ENSMUST00000005477" "ENSMUST00000072438" "ENSMUST00000005477"
#> [13] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000144140"
#> [16] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000072438"
#> [19] "ENSMUST00000005477" "ENSMUST00000144140" "ENSMUST00000005477"
#> [22] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000005477"
#> [25] "ENSMUST00000072438"
transcript(subTrack) <- c("foo", "bar")
chromosome(subTrack) <- "chr7"
plotTracks(subTrack)


values(grTrack)
#>           feature      id               exon         transcript
#> 1            utr5 unknown ENSMUSE00000742021 ENSMUST00000072438
#> 2            utr5 unknown ENSMUSE00000489385 ENSMUST00000005477
#> 3  protein_coding unknown ENSMUSE00000742021 ENSMUST00000072438
#> 4  protein_coding unknown ENSMUSE00000489385 ENSMUST00000005477
#> 5  protein_coding unknown ENSMUSE00000973560 ENSMUST00000072438
#> 6  protein_coding unknown ENSMUSE00000973560 ENSMUST00000005477
#> 7  protein_coding unknown ENSMUSE00001043622 ENSMUST00000072438
#> 8  protein_coding unknown ENSMUSE00001043622 ENSMUST00000005477
#> 9  protein_coding unknown ENSMUSE00001013991 ENSMUST00000072438
#> 10 protein_coding unknown ENSMUSE00001013991 ENSMUST00000005477
#> 11 protein_coding unknown ENSMUSE00000996531 ENSMUST00000072438
#> 12 protein_coding unknown ENSMUSE00000996531 ENSMUST00000005477
#> 13 protein_coding unknown ENSMUSE00000999790 ENSMUST00000072438
#> 14 protein_coding unknown ENSMUSE00000999790 ENSMUST00000005477
#> 15 protein_coding unknown ENSMUSE00000736922 ENSMUST00000144140
#> 16 protein_coding unknown ENSMUSE00000963884 ENSMUST00000072438
#> 17 protein_coding unknown ENSMUSE00000963884 ENSMUST00000005477
#> 18 protein_coding unknown ENSMUSE00001063063 ENSMUST00000072438
#> 19 protein_coding unknown ENSMUSE00001063063 ENSMUST00000005477
#> 20 protein_coding unknown ENSMUSE00000748299 ENSMUST00000144140
#> 21 protein_coding unknown ENSMUSE00000496705 ENSMUST00000005477
#> 22 protein_coding unknown ENSMUSE00000498616 ENSMUST00000072438
#> 23 protein_coding unknown ENSMUSE00000750625 ENSMUST00000005477
#> 24           utr3 unknown ENSMUSE00000750625 ENSMUST00000005477
#> 25           utr3 unknown ENSMUSE00000498616 ENSMUST00000072438
#>                  gene  symbol density
#> 1  ENSMUSG00000030483 Cyp2b10       1
#> 2  ENSMUSG00000030483 Cyp2b10       1
#> 3  ENSMUSG00000030483 Cyp2b10       1
#> 4  ENSMUSG00000030483 Cyp2b10       1
#> 5  ENSMUSG00000030483 Cyp2b10       1
#> 6  ENSMUSG00000030483 Cyp2b10       1
#> 7  ENSMUSG00000030483 Cyp2b10       1
#> 8  ENSMUSG00000030483 Cyp2b10       1
#> 9  ENSMUSG00000030483 Cyp2b10       1
#> 10 ENSMUSG00000030483 Cyp2b10       1
#> 11 ENSMUSG00000030483 Cyp2b10       1
#> 12 ENSMUSG00000030483 Cyp2b10       1
#> 13 ENSMUSG00000030483 Cyp2b10       1
#> 14 ENSMUSG00000030483 Cyp2b10       1
#> 15 ENSMUSG00000030483 Cyp2b10       1
#> 16 ENSMUSG00000030483 Cyp2b10       1
#> 17 ENSMUSG00000030483 Cyp2b10       1
#> 18 ENSMUSG00000030483 Cyp2b10       1
#> 19 ENSMUSG00000030483 Cyp2b10       1
#> 20 ENSMUSG00000030483 Cyp2b10       1
#> 21 ENSMUSG00000030483 Cyp2b10       1
#> 22 ENSMUSG00000030483 Cyp2b10       1
#> 23 ENSMUSG00000030483 Cyp2b10       1
#> 24 ENSMUSG00000030483 Cyp2b10       1
#> 25 ENSMUSG00000030483 Cyp2b10       1

## Grouping
group(grTrack)
#>  [1] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000072438"
#>  [4] "ENSMUST00000005477" "ENSMUST00000072438" "ENSMUST00000005477"
#>  [7] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000072438"
#> [10] "ENSMUST00000005477" "ENSMUST00000072438" "ENSMUST00000005477"
#> [13] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000144140"
#> [16] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000072438"
#> [19] "ENSMUST00000005477" "ENSMUST00000144140" "ENSMUST00000005477"
#> [22] "ENSMUST00000072438" "ENSMUST00000005477" "ENSMUST00000005477"
#> [25] "ENSMUST00000072438"
group(subTrack) <- "Group 1"
transcript(subTrack)
#> [1] "Group 1" "Group 1"
plotTracks(subTrack)


## Collapsing transcripts
plotTracks(grTrack,
    collapseTranscripts = TRUE, showId = TRUE,
    extend.left = 10000, shape = "arrow"
)


## Stacking
stacking(grTrack)
#> [1] "squish"
stacking(grTrack) <- "dense"
plotTracks(grTrack)


## coercion
as(grTrack, "data.frame")
#>    X.seqnames  X.start    X.end X.width X.strand      X.feature    X.id
#> 1        chr7 25897620 25897684      65        +           utr5 unknown
#> 2        chr7 25897676 25897684       9        +           utr5 unknown
#> 3        chr7 25897685 25897855     171        + protein_coding unknown
#> 4        chr7 25897685 25897855     171        + protein_coding unknown
#> 5        chr7 25911238 25911400     163        + protein_coding unknown
#> 6        chr7 25911238 25911400     163        + protein_coding unknown
#> 7        chr7 25911554 25911703     150        + protein_coding unknown
#> 8        chr7 25911554 25911703     150        + protein_coding unknown
#> 9        chr7 25913865 25914025     161        + protein_coding unknown
#> 10       chr7 25913865 25914025     161        + protein_coding unknown
#> 11       chr7 25914748 25914924     177        + protein_coding unknown
#> 12       chr7 25914748 25914924     177        + protein_coding unknown
#> 13       chr7 25915392 25915533     142        + protein_coding unknown
#> 14       chr7 25915392 25915533     142        + protein_coding unknown
#> 15       chr7 25916766 25917121     356        + protein_coding unknown
#> 16       chr7 25916934 25917121     188        + protein_coding unknown
#> 17       chr7 25916934 25917121     188        + protein_coding unknown
#> 18       chr7 25917288 25917429     142        + protein_coding unknown
#> 19       chr7 25917288 25917429     142        + protein_coding unknown
#> 20       chr7 25917288 25917430     143        + protein_coding unknown
#> 21       chr7 25925373 25925399      27        + protein_coding unknown
#> 22       chr7 25926068 25926249     182        + protein_coding unknown
#> 23       chr7 25926068 25926249     182        + protein_coding unknown
#> 24       chr7 25926250 25926559     310        +           utr3 unknown
#> 25       chr7 25926250 25926624     375        +           utr3 unknown
#>                X.exon       X.transcript             X.gene X.symbol X.density
#> 1  ENSMUSE00000742021 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 2  ENSMUSE00000489385 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 3  ENSMUSE00000742021 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 4  ENSMUSE00000489385 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 5  ENSMUSE00000973560 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 6  ENSMUSE00000973560 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 7  ENSMUSE00001043622 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 8  ENSMUSE00001043622 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 9  ENSMUSE00001013991 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 10 ENSMUSE00001013991 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 11 ENSMUSE00000996531 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 12 ENSMUSE00000996531 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 13 ENSMUSE00000999790 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 14 ENSMUSE00000999790 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 15 ENSMUSE00000736922 ENSMUST00000144140 ENSMUSG00000030483  Cyp2b10         1
#> 16 ENSMUSE00000963884 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 17 ENSMUSE00000963884 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 18 ENSMUSE00001063063 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 19 ENSMUSE00001063063 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 20 ENSMUSE00000748299 ENSMUST00000144140 ENSMUSG00000030483  Cyp2b10         1
#> 21 ENSMUSE00000496705 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 22 ENSMUSE00000498616 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#> 23 ENSMUSE00000750625 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 24 ENSMUSE00000750625 ENSMUST00000005477 ENSMUSG00000030483  Cyp2b10         1
#> 25 ENSMUSE00000498616 ENSMUST00000072438 ENSMUSG00000030483  Cyp2b10         1
#>           feature      id               exon         transcript
#> 1            utr5 unknown ENSMUSE00000742021 ENSMUST00000072438
#> 2            utr5 unknown ENSMUSE00000489385 ENSMUST00000005477
#> 3  protein_coding unknown ENSMUSE00000742021 ENSMUST00000072438
#> 4  protein_coding unknown ENSMUSE00000489385 ENSMUST00000005477
#> 5  protein_coding unknown ENSMUSE00000973560 ENSMUST00000072438
#> 6  protein_coding unknown ENSMUSE00000973560 ENSMUST00000005477
#> 7  protein_coding unknown ENSMUSE00001043622 ENSMUST00000072438
#> 8  protein_coding unknown ENSMUSE00001043622 ENSMUST00000005477
#> 9  protein_coding unknown ENSMUSE00001013991 ENSMUST00000072438
#> 10 protein_coding unknown ENSMUSE00001013991 ENSMUST00000005477
#> 11 protein_coding unknown ENSMUSE00000996531 ENSMUST00000072438
#> 12 protein_coding unknown ENSMUSE00000996531 ENSMUST00000005477
#> 13 protein_coding unknown ENSMUSE00000999790 ENSMUST00000072438
#> 14 protein_coding unknown ENSMUSE00000999790 ENSMUST00000005477
#> 15 protein_coding unknown ENSMUSE00000736922 ENSMUST00000144140
#> 16 protein_coding unknown ENSMUSE00000963884 ENSMUST00000072438
#> 17 protein_coding unknown ENSMUSE00000963884 ENSMUST00000005477
#> 18 protein_coding unknown ENSMUSE00001063063 ENSMUST00000072438
#> 19 protein_coding unknown ENSMUSE00001063063 ENSMUST00000005477
#> 20 protein_coding unknown ENSMUSE00000748299 ENSMUST00000144140
#> 21 protein_coding unknown ENSMUSE00000496705 ENSMUST00000005477
#> 22 protein_coding unknown ENSMUSE00000498616 ENSMUST00000072438
#> 23 protein_coding unknown ENSMUSE00000750625 ENSMUST00000005477
#> 24           utr3 unknown ENSMUSE00000750625 ENSMUST00000005477
#> 25           utr3 unknown ENSMUSE00000498616 ENSMUST00000072438
#>                  gene  symbol density
#> 1  ENSMUSG00000030483 Cyp2b10       1
#> 2  ENSMUSG00000030483 Cyp2b10       1
#> 3  ENSMUSG00000030483 Cyp2b10       1
#> 4  ENSMUSG00000030483 Cyp2b10       1
#> 5  ENSMUSG00000030483 Cyp2b10       1
#> 6  ENSMUSG00000030483 Cyp2b10       1
#> 7  ENSMUSG00000030483 Cyp2b10       1
#> 8  ENSMUSG00000030483 Cyp2b10       1
#> 9  ENSMUSG00000030483 Cyp2b10       1
#> 10 ENSMUSG00000030483 Cyp2b10       1
#> 11 ENSMUSG00000030483 Cyp2b10       1
#> 12 ENSMUSG00000030483 Cyp2b10       1
#> 13 ENSMUSG00000030483 Cyp2b10       1
#> 14 ENSMUSG00000030483 Cyp2b10       1
#> 15 ENSMUSG00000030483 Cyp2b10       1
#> 16 ENSMUSG00000030483 Cyp2b10       1
#> 17 ENSMUSG00000030483 Cyp2b10       1
#> 18 ENSMUSG00000030483 Cyp2b10       1
#> 19 ENSMUSG00000030483 Cyp2b10       1
#> 20 ENSMUSG00000030483 Cyp2b10       1
#> 21 ENSMUSG00000030483 Cyp2b10       1
#> 22 ENSMUSG00000030483 Cyp2b10       1
#> 23 ENSMUSG00000030483 Cyp2b10       1
#> 24 ENSMUSG00000030483 Cyp2b10       1
#> 25 ENSMUSG00000030483 Cyp2b10       1
as(grTrack, "UCSCData")
#> UCSC track 'foo'
#> UCSCData object with 3 ranges and 6 metadata columns:
#>       seqnames            ranges strand |                 id        name
#>          <Rle>         <IRanges>  <Rle> |        <character> <character>
#>   [1]     chr7 25897676-25926559      + | ENSMUST00000005477     Cyp2b10
#>   [2]     chr7 25897620-25926624      + | ENSMUST00000072438     Cyp2b10
#>   [3]     chr7 25916766-25917430      + | ENSMUST00000144140     Cyp2b10
#>           itemRgb blockCount             blockSizes            blockStarts
#>       <character>  <numeric>            <character>            <character>
#>   [1]     #FFD58A         12 9,171,163,150,161,17.. 0,9,13562,13878,1618..
#>   [2]     #FFD58A         11 65,171,163,150,161,1.. 0,65,13618,13934,162..
#>   [3]     #FFD58A          2                356,143                  0,522
#>   -------
#>   seqinfo: 1 sequence from an unspecified genome; no seqlengths

## HTML image map
coords(grTrack)
#> NULL
tags(grTrack)
#> NULL
grTrack <- plotTracks(grTrack)$foo

coords(grTrack)
#>                             x1     y1        x2     y2
#> ENSMUSE00000973560   239.54551  64.50 241.93921 415.50
#> ENSMUSE00001043622   244.21469  64.50 246.41630 415.50
#> ENSMUSE00001013991   278.36174  64.50 280.72588 415.50
#> ENSMUSE00000996531   291.40884  64.50 294.00939 415.50
#> ENSMUSE00000999790   300.92450  64.50 303.00790 415.50
#> ENSMUSE00000963884   323.70890  64.50 326.47199 415.50
#> ENSMUSE00001063063   328.93956  64.50 331.02296 415.50
#> ENSMUSE00000498616   458.67175  64.50 461.34619 415.50
#> ENSMUSE00000498616.1 461.36096 152.25 466.88714 327.75
#> ENSMUSE00000973560.1 239.54551  64.50 241.93921 415.50
#> ENSMUSE00001043622.1 244.21469  64.50 246.41630 415.50
#> ENSMUSE00001013991.1 278.36174  64.50 280.72588 415.50
#> ENSMUSE00000996531.1 291.40884  64.50 294.00939 415.50
#> ENSMUSE00000999790.1 300.92450  64.50 303.00790 415.50
#> ENSMUSE00000963884.1 323.70890  64.50 326.47199 415.50
#> ENSMUSE00001063063.1 328.93956  64.50 331.02296 415.50
#> ENSMUSE00000496705   448.09222  64.50 449.08221 415.50
#> ENSMUSE00000750625   458.67175  64.50 461.34619 415.50
#> ENSMUSE00000750625.1 461.36096 152.25 465.92671 327.75
#> ENSMUSE00000736922   321.22656  64.50 326.47199 415.50
#> ENSMUSE00000748299   328.93956  64.50 331.03774 415.50
#> ENSMUSE00000742021    38.29809  64.50  41.79997 415.50
#> ENSMUSE00000489385    38.71181  64.50  41.79997 415.50
tags(grTrack)
#> $fill
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>            "#FFD58A"            "#FFD58A"            "#FFD58A" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>            "#FFD58A"            "#FFD58A" 
#> 
#> $strand
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>                  "+"                  "+"                  "+" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>                  "+"                  "+"                  "+" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>                  "+"                  "+"                  "+" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>                  "+"                  "+"                  "+" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>                  "+"                  "+"                  "+" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>                  "+"                  "+"                  "+" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>                  "+"                  "+"                  "+" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>                  "+"                  "+" 
#> 
#> $text
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#> "ENSMUSE00001063063" "ENSMUSE00000498616" "ENSMUSE00000498616" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#> "ENSMUSE00001063063" "ENSMUSE00000496705" "ENSMUSE00000750625" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#> "ENSMUSE00000750625" "ENSMUSE00000736922" "ENSMUSE00000748299" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#> "ENSMUSE00000742021" "ENSMUSE00000489385" 
#> 
#> $start
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>           "25911238"           "25911554"           "25913865" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>           "25914748"           "25915392"           "25916934" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>           "25917288"           "25926068"           "25926250" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>           "25911238"           "25911554"           "25913865" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>           "25914748"           "25915392"           "25916934" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>           "25917288"           "25925352"           "25926068" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>           "25926250"           "25916766"           "25917288" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>           "25897618"           "25897646" 
#> 
#> $end
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>           "25911400"           "25911703"           "25914025" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>           "25914924"           "25915533"           "25917121" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>           "25917429"           "25926249"           "25926624" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>           "25911400"           "25911703"           "25914025" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>           "25914924"           "25915533"           "25917121" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>           "25917429"           "25925419"           "25926249" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>           "25926559"           "25917121"           "25917430" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>           "25897855"           "25897855" 
#> 
#> $feature
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>     "protein_coding"     "protein_coding"     "protein_coding" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>     "protein_coding"     "protein_coding"     "protein_coding" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>     "protein_coding"     "protein_coding"               "utr3" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>     "protein_coding"     "protein_coding"     "protein_coding" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>     "protein_coding"     "protein_coding"     "protein_coding" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>     "protein_coding"     "protein_coding"     "protein_coding" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>               "utr3"     "protein_coding"     "protein_coding" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>          "composite"          "composite" 
#> 
#> $id
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>            "unknown"            "unknown"            "unknown" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>            "unknown"            "unknown"            "unknown" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>            "unknown"            "unknown"            "unknown" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>            "unknown"            "unknown"            "unknown" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>            "unknown"            "unknown"            "unknown" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>            "unknown"            "unknown"            "unknown" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>            "unknown"            "unknown"            "unknown" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>            "unknown"            "unknown" 
#> 
#> $exon
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#> "ENSMUSE00001063063" "ENSMUSE00000498616" "ENSMUSE00000498616" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#> "ENSMUSE00001063063" "ENSMUSE00000496705" "ENSMUSE00000750625" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#> "ENSMUSE00000750625" "ENSMUSE00000736922" "ENSMUSE00000748299" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#> "ENSMUSE00000742021" "ENSMUSE00000489385" 
#> 
#> $transcript
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#> "ENSMUST00000072438" "ENSMUST00000072438" "ENSMUST00000072438" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#> "ENSMUST00000072438" "ENSMUST00000072438" "ENSMUST00000072438" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#> "ENSMUST00000072438" "ENSMUST00000072438" "ENSMUST00000072438" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#> "ENSMUST00000005477" "ENSMUST00000005477" "ENSMUST00000005477" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#> "ENSMUST00000005477" "ENSMUST00000005477" "ENSMUST00000005477" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#> "ENSMUST00000005477" "ENSMUST00000005477" "ENSMUST00000005477" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#> "ENSMUST00000005477" "ENSMUST00000144140" "ENSMUST00000144140" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#> "ENSMUST00000072438" "ENSMUST00000005477" 
#> 
#> $gene
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" "ENSMUSG00000030483" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#> "ENSMUSG00000030483" "ENSMUSG00000030483" 
#> 
#> $symbol
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>            "Cyp2b10"            "Cyp2b10"            "Cyp2b10" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>            "Cyp2b10"            "Cyp2b10" 
#> 
#> $density
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>                  "1"                  "1"                  "1" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>                  "1"                  "1"                  "1" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>                  "1"                  "1"                  "1" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>                  "1"                  "1"                  "1" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>                  "1"                  "1"                  "1" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>                  "1"                  "1"                  "1" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>                  "1"                  "1"                  "1" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>                  "2"                  "2" 
#> 
#> $gdensity
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>                   NA                   NA                   NA 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>                   NA                   NA                   NA 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>                   NA                   NA                   NA 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>                   NA                   NA                   NA 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>                   NA                   NA                   NA 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>                   NA                   NA                   NA 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>                   NA                   NA                   NA 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>                  "1"                  "1" 
#> 
#> $exonId
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#> "ENSMUSE00001063063" "ENSMUSE00000498616" "ENSMUSE00000498616" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#> "ENSMUSE00001063063" "ENSMUSE00000496705" "ENSMUSE00000750625" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#> "ENSMUSE00000750625" "ENSMUSE00000736922" "ENSMUSE00000748299" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#> "ENSMUSE00000742021" "ENSMUSE00000489385" 
#> 
#> $origExonId
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#> "ENSMUSE00001063063" "ENSMUSE00000498616" "ENSMUSE00000498616" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#> "ENSMUSE00000973560" "ENSMUSE00001043622" "ENSMUSE00001013991" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#> "ENSMUSE00000996531" "ENSMUSE00000999790" "ENSMUSE00000963884" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#> "ENSMUSE00001063063" "ENSMUSE00000496705" "ENSMUSE00000750625" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#> "ENSMUSE00000750625" "ENSMUSE00000736922" "ENSMUSE00000748299" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#> "ENSMUSE00000742021" "ENSMUSE00000489385" 
#> 
#> $col
#>   ENSMUSE00000973560   ENSMUSE00001043622   ENSMUSE00001013991 
#>           "darkgray"           "darkgray"           "darkgray" 
#>   ENSMUSE00000996531   ENSMUSE00000999790   ENSMUSE00000963884 
#>           "darkgray"           "darkgray"           "darkgray" 
#>   ENSMUSE00001063063   ENSMUSE00000498616 ENSMUSE00000498616.1 
#>           "darkgray"           "darkgray"           "darkgray" 
#> ENSMUSE00000973560.1 ENSMUSE00001043622.1 ENSMUSE00001013991.1 
#>           "darkgray"           "darkgray"           "darkgray" 
#> ENSMUSE00000996531.1 ENSMUSE00000999790.1 ENSMUSE00000963884.1 
#>           "darkgray"           "darkgray"           "darkgray" 
#> ENSMUSE00001063063.1   ENSMUSE00000496705   ENSMUSE00000750625 
#>           "darkgray"           "darkgray"           "darkgray" 
#> ENSMUSE00000750625.1   ENSMUSE00000736922   ENSMUSE00000748299 
#>           "darkgray"           "darkgray"           "darkgray" 
#>   ENSMUSE00000742021   ENSMUSE00000489385 
#>           "darkgray"           "darkgray" 
#> 
#> $title
#>  [1] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#>  [8] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#> [15] "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10" "Cyp2b10"
#> [22] "Cyp2b10" "Cyp2b10"
#>