Tooltip Display in Tracks

Tooltip can be specified by supplying a data frame when constructing the track and it can be modified after the track is constructed.

By default, when constructing a track from GRanges/IRanges, the tooltip is converted from the "meta-columns" of GRanges/IRanges, i.e. mcols(d).

suppressPackageStartupMessages({
    library(TnT)
    library(GenomicFeatures)
    library(TxDb.Hsapiens.UCSC.hg19.knownGene)
    library(org.Hs.eg.db)
})
txdb <- TxDb.Hsapiens.UCSC.hg19.knownGene

Basic Example using BlockTrack

Click on the block to see the tooltip.

myIRanges <- IRanges(c(10, 100, 1000), width = c(30, 50, 500))
mytooltip <- as.data.frame(myIRanges)
myTrack <- TnT::BlockTrack(myIRanges, tooltip = mytooltip)
#TnTBoard(myTrack, IRanges(1, 2000))
TnTBoard(myTrack, GRanges("UnKnown", IRanges(1, 2000)))



Modify Tooltip of a Constructed Track

First, construct a gene track from the TxDb object.

geneTrack <- TnT::GeneTrackFromTxDb(txdb, height = 300)

We can extract and replace the tooltip with tooltip and tooltip<-. In this case, we use the organism database to find the corresponding gene names of every gene, then add them to the tooltip.

head(df.tooltip <- TnT::tooltip(geneTrack))

genename <- AnnotationDbi::select(org.Hs.eg.db, as.character(df.tooltip$gene_id),
                      columns = "SYMBOL", keytype = "ENTREZID")
df.tooltip$gene_symbol <- genename$SYMBOL[match(df.tooltip$gene_id, genename$ENTREZID)]
TnT::tooltip(geneTrack) <- df.tooltip
head(TnT::tooltip(geneTrack))

We can also modify the label to show gene symbol instead of entrez ID.

geneTrack$display_label <- TnT::strandlabel(TnT::tooltip(geneTrack)$gene_symbol,
                                            strand(TnT::trackData(geneTrack)))

Click to see the tooltip.

TnTGenome(geneTrack, GRanges("chrX", IRanges(100000, 10000000)))



Use Sub-headers in Tooltip

Columns of empty strings will be regarded as subsection titles, for example:

head(df.tooltip)
df.tooltip <- cbind(
    data.frame(`Identity` = ""),
    df.tooltip[c("gene_id", "gene_symbol")]
)

Click to see.

TnT::tooltip(geneTrack) <- df.tooltip
TnTGenome(geneTrack, GRanges("chrX", IRanges(100000, 10000000)))



Session Info

sessionInfo()


Try the TnT package in your browser

Any scripts or data that you put into this service are public.

TnT documentation built on Nov. 8, 2020, 8:11 p.m.