Installing the necessary packages

knitr::opts_chunk$set(echo = TRUE)
if (!require("BiocManager", quietly=TRUE))
  install.packages("BiocManager")
## Bioconductor version '3.19' is out-of-date; the current release version '3.20'
##   is available with R version '4.4'; see https://bioconductor.org/install
BiocManager::install("TxDb.Hsapiens.UCSC.hg19.knownGene")
## Bioconductor version 3.19 (BiocManager 1.30.25), R 4.4.1 (2024-06-14)
## Warning: package(s) not installed when version(s) same as or greater than current; use
##   `force = TRUE` to re-install: 'TxDb.Hsapiens.UCSC.hg19.knownGene'
BiocManager::install("GenomicFeatures")
## Bioconductor version 3.19 (BiocManager 1.30.25), R 4.4.1 (2024-06-14)
## Warning: package(s) not installed when version(s) same as or greater than current; use
##   `force = TRUE` to re-install: 'GenomicFeatures'
BiocManager::install("BSgenome.Hsapiens.UCSC.hg19")
## Bioconductor version 3.19 (BiocManager 1.30.25), R 4.4.1 (2024-06-14)
## Warning: package(s) not installed when version(s) same as or greater than current; use
##   `force = TRUE` to re-install: 'BSgenome.Hsapiens.UCSC.hg19'
suppressPackageStartupMessages(library(GenomicFeatures))
suppressPackageStartupMessages(library(TxDb.Hsapiens.UCSC.hg19.knownGene))
suppressPackageStartupMessages(library(BSgenome.Hsapiens.UCSC.hg19))
suppressPackageStartupMessages(library(lubridate))
suppressPackageStartupMessages(library(TxDb.Hsapiens.UCSC.hg38.knownGene))
suppressPackageStartupMessages(library(ggbio))
suppressPackageStartupMessages(library(RMariaDB))

Obtaining a TxDb Object

library(TxDb.Hsapiens.UCSC.hg19.knownGene)
hg19_txdb <- TxDb.Hsapiens.UCSC.hg19.knownGene
hg19_txdb
## TxDb object:
## # Db type: TxDb
## # Supporting package: GenomicFeatures
## # Data source: UCSC
## # Genome: hg19
## # Organism: Homo sapiens
## # Taxonomy ID: 9606
## # UCSC Table: knownGene
## # Resource URL: http://genome.ucsc.edu/
## # Type of Gene ID: Entrez Gene ID
## # Full dataset: yes
## # miRBase build ID: GRCh37
## # transcript_nrow: 82960
## # exon_nrow: 289969
## # cds_nrow: 237533
## # Db created by: GenomicFeatures package from Bioconductor
## # Creation time: 2015-10-07 18:11:28 +0000 (Wed, 07 Oct 2015)
## # GenomicFeatures version at creation time: 1.21.30
## # RSQLite version at creation time: 1.0.0
## # DBSCHEMAVERSION: 1.1
head(seqlevels(hg19_txdb)) 
## [1] "chr1" "chr2" "chr3" "chr4" "chr5" "chr6"

Overview of the TxDb Object

Pre-filtering data based on Chromosomes

seqlevels(hg19_txdb) <- "chr17"
seqinfo(hg19_txdb)
## Seqinfo object with 1 sequence from hg19 genome:
##   seqnames seqlengths isCircular genome
##   chr17      81195210         NA   hg19
isActiveSeq(hg19_txdb)
## chr17 
##  TRUE

Retrieving data using the select() method

keys <- c("672")
columns(hg19_txdb)
##  [1] "CDSCHROM"   "CDSEND"     "CDSID"      "CDSNAME"    "CDSSTART"  
##  [6] "CDSSTRAND"  "EXONCHROM"  "EXONEND"    "EXONID"     "EXONNAME"  
## [11] "EXONRANK"   "EXONSTART"  "EXONSTRAND" "GENEID"     "TXCHROM"   
## [16] "TXEND"      "TXID"       "TXNAME"     "TXSTART"    "TXSTRAND"  
## [21] "TXTYPE"
keytypes(hg19_txdb)
## [1] "CDSID"    "CDSNAME"  "EXONID"   "EXONNAME" "GENEID"   "TXID"     "TXNAME"
select(hg19_txdb, keys = keys, columns="TXNAME", keytype="GENEID")
## 'select()' returned 1:many mapping between keys and columns
##    GENEID     TXNAME
## 1     672 uc010whl.2
## 2     672 uc002icp.4
## 3     672 uc010whm.2
## 4     672 uc002icu.3
## 5     672 uc010cyx.3
## 6     672 uc002icq.3
## 7     672 uc002ict.3
## 8     672 uc010whn.2
## 9     672 uc010who.3
## 10    672 uc010whp.2
## 11    672 uc010whq.1
## 12    672 uc002idc.1
## 13    672 uc010whr.1
## 14    672 uc002idd.3
## 15    672 uc002ide.1
## 16    672 uc010cyy.1
## 17    672 uc010whs.1
## 18    672 uc010cyz.2
## 19    672 uc010cza.2
## 20    672 uc010wht.1
cols <- c("TXNAME", "TXSTRAND", "TXCHROM")
select(hg19_txdb, keys=keys, columns=cols, keytype="GENEID")
## 'select()' returned 1:many mapping between keys and columns
##    GENEID     TXNAME TXCHROM TXSTRAND
## 1     672 uc010whl.2   chr17        -
## 2     672 uc002icp.4   chr17        -
## 3     672 uc010whm.2   chr17        -
## 4     672 uc002icu.3   chr17        -
## 5     672 uc010cyx.3   chr17        -
## 6     672 uc002icq.3   chr17        -
## 7     672 uc002ict.3   chr17        -
## 8     672 uc010whn.2   chr17        -
## 9     672 uc010who.3   chr17        -
## 10    672 uc010whp.2   chr17        -
## 11    672 uc010whq.1   chr17        -
## 12    672 uc002idc.1   chr17        -
## 13    672 uc010whr.1   chr17        -
## 14    672 uc002idd.3   chr17        -
## 15    672 uc002ide.1   chr17        -
## 16    672 uc010cyy.1   chr17        -
## 17    672 uc010whs.1   chr17        -
## 18    672 uc010cyz.2   chr17        -
## 19    672 uc010cza.2   chr17        -
## 20    672 uc010wht.1   chr17        -

Returning GRanges objects

GR <- transcripts(hg19_txdb) 
GR[1:3]
## GRanges object with 3 ranges and 2 metadata columns:
##       seqnames        ranges strand |     tx_id     tx_name
##          <Rle>     <IRanges>  <Rle> | <integer> <character>
##   [1]    chr17 180996-183279      + |     60101  uc021tmy.1
##   [2]    chr17 180996-183279      + |     60102  uc021tmz.1
##   [3]    chr17 260118-264457      + |     60103  uc021tna.1
##   -------
##   seqinfo: 1 sequence from hg19 genome
tx_strand <- strand(GR)
tx_strand
## factor-Rle of length 4487 with 2 runs
##   Lengths: 2180 2307
##   Values :    +    -
## Levels(3): + - *
sum(runLength(tx_strand))
## [1] 4487
length(GR)
## [1] 4487
GR <- transcripts(hg19_txdb, filter=list(tx_chrom = "chr17", tx_strand = "+"))
length(GR)
## [1] 2180
unique(strand(GR))
## [1] +
## Levels: + - *
PR <- promoters(hg19_txdb, upstream=2000, downstream=400)
PR
## GRanges object with 4487 ranges and 2 metadata columns:
##              seqnames            ranges strand |     tx_id     tx_name
##                 <Rle>         <IRanges>  <Rle> | <integer> <character>
##   uc021tmy.1    chr17     178996-181395      + |     60101  uc021tmy.1
##   uc021tmz.1    chr17     178996-181395      + |     60102  uc021tmz.1
##   uc021tna.1    chr17     258118-260517      + |     60103  uc021tna.1
##   uc010vpz.1    chr17     261234-263633      + |     60104  uc010vpz.1
##   uc002frp.3    chr17     633847-636246      + |     60105  uc002frp.3
##          ...      ...               ...    ... .       ...         ...
##   uc002kga.3    chr17 80797532-80799931      - |     64583  uc002kga.3
##   uc002kge.1    chr17 80964465-80966864      - |     64584  uc002kge.1
##   uc002kgf.1    chr17 81006631-81009030      - |     64585  uc002kgf.1
##   uc002kgg.1    chr17 81009287-81011686      - |     64586  uc002kgg.1
##   uc021ufx.1    chr17 80907005-80909404      - |     64587  uc021ufx.1
##   -------
##   seqinfo: 1 sequence from hg19 genome
EX <- exons(hg19_txdb)
EX[1:22]
## GRanges object with 22 ranges and 1 metadata column:
##        seqnames        ranges strand |   exon_id
##           <Rle>     <IRanges>  <Rle> | <integer>
##    [1]    chr17 180996-181508      + |    215466
##    [2]    chr17 180996-181512      + |    215467
##    [3]    chr17 181591-181657      + |    215468
##    [4]    chr17 182847-183279      + |    215469
##    [5]    chr17 260118-260437      + |    215470
##    ...      ...           ...    ... .       ...
##   [18]    chr17 685513-685932      + |    215483
##   [19]    chr17 686323-686567      + |    215484
##   [20]    chr17 691205-691372      + |    215485
##   [21]    chr17 694774-695741      + |    215486
##   [22]    chr17 699305-701487      + |    215487
##   -------
##   seqinfo: 1 sequence from hg19 genome
length(EX) 
## [1] 15691
length(GR)
## [1] 2180

Working with Grouped Features

GRList <- exonsBy(hg19_txdb, by = "tx")
tx_ids <- names(GRList)
head(select(hg19_txdb, keys=tx_ids, columns="TXNAME", keytype="TXID"))
## 'select()' returned 1:1 mapping between keys and columns
##    TXID     TXNAME
## 1 60101 uc021tmy.1
## 2 60102 uc021tmz.1
## 3 60103 uc021tna.1
## 4 60104 uc010vpz.1
## 5 60105 uc002frp.3
## 6 60106 uc002frq.3

Predefined grouping functions

length(intronsByTranscript(hg19_txdb))
## [1] 4487
length(fiveUTRsByTranscript(hg19_txdb))
## [1] 3440
length(threeUTRsByTranscript(hg19_txdb))
## [1] 3392

Getting the actual sequence data

suppressPackageStartupMessages(library(BSgenome.Hsapiens.UCSC.hg19))
genome <- BSgenome.Hsapiens.UCSC.hg19  
tx_seqs1 <- extractTranscriptSeqs(genome, hg19_txdb, use.names=TRUE)

suppressWarnings(translate(tx_seqs1))
## AAStringSet object of length 4487:
##        width seq                                            names               
##    [1]   337 LHVPTPLTAVASGQKSHRAKCC...*NWVLTAYAACWFLNKIGFLL uc021tmy.1
##    [2]   339 LHVPTPLTAVASGQKSHRAKCC...KLGSYCIRCLLVSK*NWVLTI uc021tmz.1
##    [3]   613 SRGGRHGDAWPWPGGPR*ESPI...EVTMGSPKRNTASFINMVLS* uc021tna.1
##    [4]   543 GPQGLPPRPRGPQGLPPRPRRP...PGQLQTLWLLLCCD**TSFVL uc010vpz.1
##    [5]   693 SHAAPARRPDPQPRCC*RWPGA...KKWIFKVPFNCL*TSKGLICL uc002frp.3
##    ...   ... ...
## [4483]  1063 T*IPPTGTAGSSFTQQA*EQVL...INSYEP*GNIKCK*T*IYVIL uc002kga.3
## [4484]   815 SAGERQRSWILMHH*G*ETAQP...LHCS*PAFTRLKFFLIKM*KA uc002kge.1
## [4485]   591 QLPE*LGLQEPATTPG*FFVFL...TVQGGGDPYYTGWNKIFKSRK uc002kgf.1
## [4486]   461 AEAAG*AEPAWAGRPRRARPCR...SSRRRRPLLHRLE*NI*IS*K uc002kgg.1
## [4487]   799 LPCNSVWREQLAGLRAPRWHCC...SGDQQGLWYKQCRLLPSLAFV uc021ufx.1
cds_seqs <- extractTranscriptSeqs(Hsapiens,
                                  cdsBy(hg19_txdb, by="tx", use.names=TRUE))
translate(cds_seqs)
## AAStringSet object of length 3538:
##        width seq                                            names               
##    [1]   128 MVGEEGQLEEAHFRKLPTEPVS...ELTTPGVRHCRHHCRHREGH* uc021tmz.1
##    [2]   424 METRGPGLAVRAESRRLVGIGP...FEGNLTPKLLHSDLAPTLLE* uc021tna.1
##    [3]   258 MLLTLAGGALFFPGLFALCTWA...CLLCRKAVRLFDTPQAKKDG* uc002frp.3
##    [4]   226 MLLTLAGGALFFPGLFALCTWA...CLLCRKAVRLFDTPQAKKDG* uc002frq.3
##    [5]   168 MYLCEWCRTRDQNRAPSLTLRN...CLLCRKAVRLFDTPQAKKDG* uc002frr.3
##    ...   ... ...
## [3534]   345 MNLLPCNPHGNGLLYAGFNQDH...KGECIRDVYAQFLEMTDDKL* uc002kfq.3
## [3535]   279 MSALGSPVRAYDFLLKFLLVGD...LVRPPQSPPKNCTRNSCKIS* uc002kft.3
## [3536]   724 MSLLKERKPKKPHYIPRPPGKP...KAKLQDTARVFTLRRRARVS* uc002kga.3
## [3537]   251 MEQVQTGGLRTGSGFLTSTLHV...FEDNLRSLHLQEGQDFLHFS* uc002kgf.1
## [3538]   362 MSGAGVGGASEESQAMQAHVSI...FEDNLRSLHLQEGQDFLHFS* uc002kgg.1

Plotting Transcripts of a Gene Chosen gene: BRCA1

brca1_tx <- transcriptsBy(hg19_txdb, by = "gene")[["672"]]  # BRCA1 gene ID
plotRanges <- function(gr, main = "Gene Transcripts") {
  plot(0, type = "n", xlim = range(start(gr), end(gr)), ylim = c(0, 2),
       xlab = "Genomic Range", ylab = "", yaxt = "n", main = main)
  segments(start(gr), 1, end(gr), 1, lwd = 2)
}
plotRanges(brca1_tx, main = "BRCA1 Transcripts (hg19)")

Using TxDb.Hsapiens.UCSC.hg38.knownGene

txdb <- TxDb.Hsapiens.UCSC.hg38.knownGene
seqlevels(txdb)
##   [1] "chr1"                    "chr2"                   
##   [3] "chr3"                    "chr4"                   
##   [5] "chr5"                    "chr6"                   
##   [7] "chr7"                    "chr8"                   
##   [9] "chr9"                    "chr10"                  
##  [11] "chr11"                   "chr12"                  
##  [13] "chr13"                   "chr14"                  
##  [15] "chr15"                   "chr16"                  
##  [17] "chr17"                   "chr18"                  
##  [19] "chr19"                   "chr20"                  
##  [21] "chr21"                   "chr22"                  
##  [23] "chrX"                    "chrY"                   
##  [25] "chrM"                    "chr1_GL383518v1_alt"    
##  [27] "chr1_GL383519v1_alt"     "chr1_GL383520v2_alt"    
##  [29] "chr1_KI270759v1_alt"     "chr1_KI270760v1_alt"    
##  [31] "chr1_KI270761v1_alt"     "chr1_KI270762v1_alt"    
##  [33] "chr1_KI270763v1_alt"     "chr1_KI270764v1_alt"    
##  [35] "chr1_KI270765v1_alt"     "chr1_KI270766v1_alt"    
##  [37] "chr1_KI270892v1_alt"     "chr2_GL383521v1_alt"    
##  [39] "chr2_GL383522v1_alt"     "chr2_GL582966v2_alt"    
##  [41] "chr2_KI270767v1_alt"     "chr2_KI270768v1_alt"    
##  [43] "chr2_KI270769v1_alt"     "chr2_KI270770v1_alt"    
##  [45] "chr2_KI270771v1_alt"     "chr2_KI270772v1_alt"    
##  [47] "chr2_KI270773v1_alt"     "chr2_KI270774v1_alt"    
##  [49] "chr2_KI270775v1_alt"     "chr2_KI270776v1_alt"    
##  [51] "chr2_KI270893v1_alt"     "chr2_KI270894v1_alt"    
##  [53] "chr3_GL383526v1_alt"     "chr3_JH636055v2_alt"    
##  [55] "chr3_KI270777v1_alt"     "chr3_KI270778v1_alt"    
##  [57] "chr3_KI270779v1_alt"     "chr3_KI270780v1_alt"    
##  [59] "chr3_KI270781v1_alt"     "chr3_KI270782v1_alt"    
##  [61] "chr3_KI270783v1_alt"     "chr3_KI270784v1_alt"    
##  [63] "chr3_KI270895v1_alt"     "chr3_KI270924v1_alt"    
##  [65] "chr3_KI270934v1_alt"     "chr3_KI270935v1_alt"    
##  [67] "chr3_KI270936v1_alt"     "chr3_KI270937v1_alt"    
##  [69] "chr4_GL000257v2_alt"     "chr4_GL383527v1_alt"    
##  [71] "chr4_GL383528v1_alt"     "chr4_KI270785v1_alt"    
##  [73] "chr4_KI270786v1_alt"     "chr4_KI270787v1_alt"    
##  [75] "chr4_KI270788v1_alt"     "chr4_KI270789v1_alt"    
##  [77] "chr4_KI270790v1_alt"     "chr4_KI270896v1_alt"    
##  [79] "chr4_KI270925v1_alt"     "chr5_GL339449v2_alt"    
##  [81] "chr5_GL383530v1_alt"     "chr5_GL383531v1_alt"    
##  [83] "chr5_GL383532v1_alt"     "chr5_GL949742v1_alt"    
##  [85] "chr5_KI270791v1_alt"     "chr5_KI270792v1_alt"    
##  [87] "chr5_KI270793v1_alt"     "chr5_KI270794v1_alt"    
##  [89] "chr5_KI270795v1_alt"     "chr5_KI270796v1_alt"    
##  [91] "chr5_KI270897v1_alt"     "chr5_KI270898v1_alt"    
##  [93] "chr6_GL000250v2_alt"     "chr6_GL000251v2_alt"    
##  [95] "chr6_GL000252v2_alt"     "chr6_GL000253v2_alt"    
##  [97] "chr6_GL000254v2_alt"     "chr6_GL000255v2_alt"    
##  [99] "chr6_GL000256v2_alt"     "chr6_GL383533v1_alt"    
## [101] "chr6_KB021644v2_alt"     "chr6_KI270758v1_alt"    
## [103] "chr6_KI270797v1_alt"     "chr6_KI270798v1_alt"    
## [105] "chr6_KI270799v1_alt"     "chr6_KI270800v1_alt"    
## [107] "chr6_KI270801v1_alt"     "chr6_KI270802v1_alt"    
## [109] "chr7_GL383534v2_alt"     "chr7_KI270803v1_alt"    
## [111] "chr7_KI270804v1_alt"     "chr7_KI270805v1_alt"    
## [113] "chr7_KI270806v1_alt"     "chr7_KI270807v1_alt"    
## [115] "chr7_KI270808v1_alt"     "chr7_KI270809v1_alt"    
## [117] "chr7_KI270899v1_alt"     "chr8_KI270810v1_alt"    
## [119] "chr8_KI270811v1_alt"     "chr8_KI270812v1_alt"    
## [121] "chr8_KI270813v1_alt"     "chr8_KI270814v1_alt"    
## [123] "chr8_KI270815v1_alt"     "chr8_KI270816v1_alt"    
## [125] "chr8_KI270817v1_alt"     "chr8_KI270818v1_alt"    
## [127] "chr8_KI270819v1_alt"     "chr8_KI270820v1_alt"    
## [129] "chr8_KI270821v1_alt"     "chr8_KI270822v1_alt"    
## [131] "chr8_KI270900v1_alt"     "chr8_KI270901v1_alt"    
## [133] "chr8_KI270926v1_alt"     "chr9_GL383539v1_alt"    
## [135] "chr9_GL383540v1_alt"     "chr9_GL383541v1_alt"    
## [137] "chr9_GL383542v1_alt"     "chr9_KI270823v1_alt"    
## [139] "chr10_GL383545v1_alt"    "chr10_GL383546v1_alt"   
## [141] "chr10_KI270824v1_alt"    "chr10_KI270825v1_alt"   
## [143] "chr11_GL383547v1_alt"    "chr11_JH159136v1_alt"   
## [145] "chr11_JH159137v1_alt"    "chr11_KI270826v1_alt"   
## [147] "chr11_KI270827v1_alt"    "chr11_KI270829v1_alt"   
## [149] "chr11_KI270830v1_alt"    "chr11_KI270831v1_alt"   
## [151] "chr11_KI270832v1_alt"    "chr11_KI270902v1_alt"   
## [153] "chr11_KI270903v1_alt"    "chr11_KI270927v1_alt"   
## [155] "chr12_GL383549v1_alt"    "chr12_GL383550v2_alt"   
## [157] "chr12_GL383551v1_alt"    "chr12_GL383552v1_alt"   
## [159] "chr12_GL383553v2_alt"    "chr12_GL877875v1_alt"   
## [161] "chr12_GL877876v1_alt"    "chr12_KI270833v1_alt"   
## [163] "chr12_KI270834v1_alt"    "chr12_KI270835v1_alt"   
## [165] "chr12_KI270836v1_alt"    "chr12_KI270837v1_alt"   
## [167] "chr12_KI270904v1_alt"    "chr13_KI270838v1_alt"   
## [169] "chr13_KI270839v1_alt"    "chr13_KI270840v1_alt"   
## [171] "chr13_KI270841v1_alt"    "chr13_KI270842v1_alt"   
## [173] "chr13_KI270843v1_alt"    "chr14_KI270844v1_alt"   
## [175] "chr14_KI270845v1_alt"    "chr14_KI270846v1_alt"   
## [177] "chr14_KI270847v1_alt"    "chr15_GL383554v1_alt"   
## [179] "chr15_GL383555v2_alt"    "chr15_KI270848v1_alt"   
## [181] "chr15_KI270849v1_alt"    "chr15_KI270850v1_alt"   
## [183] "chr15_KI270851v1_alt"    "chr15_KI270852v1_alt"   
## [185] "chr15_KI270905v1_alt"    "chr15_KI270906v1_alt"   
## [187] "chr16_GL383556v1_alt"    "chr16_GL383557v1_alt"   
## [189] "chr16_KI270853v1_alt"    "chr16_KI270854v1_alt"   
## [191] "chr16_KI270855v1_alt"    "chr16_KI270856v1_alt"   
## [193] "chr17_GL000258v2_alt"    "chr17_GL383563v3_alt"   
## [195] "chr17_GL383564v2_alt"    "chr17_GL383565v1_alt"   
## [197] "chr17_GL383566v1_alt"    "chr17_JH159146v1_alt"   
## [199] "chr17_JH159147v1_alt"    "chr17_JH159148v1_alt"   
## [201] "chr17_KI270857v1_alt"    "chr17_KI270858v1_alt"   
## [203] "chr17_KI270859v1_alt"    "chr17_KI270860v1_alt"   
## [205] "chr17_KI270861v1_alt"    "chr17_KI270862v1_alt"   
## [207] "chr17_KI270907v1_alt"    "chr17_KI270908v1_alt"   
## [209] "chr17_KI270909v1_alt"    "chr17_KI270910v1_alt"   
## [211] "chr18_GL383567v1_alt"    "chr18_GL383568v1_alt"   
## [213] "chr18_GL383569v1_alt"    "chr18_GL383570v1_alt"   
## [215] "chr18_GL383571v1_alt"    "chr18_GL383572v1_alt"   
## [217] "chr18_KI270863v1_alt"    "chr18_KI270864v1_alt"   
## [219] "chr18_KI270911v1_alt"    "chr18_KI270912v1_alt"   
## [221] "chr19_GL000209v2_alt"    "chr19_GL383573v1_alt"   
## [223] "chr19_GL383574v1_alt"    "chr19_GL383575v2_alt"   
## [225] "chr19_GL383576v1_alt"    "chr19_GL949746v1_alt"   
## [227] "chr19_GL949747v2_alt"    "chr19_GL949748v2_alt"   
## [229] "chr19_GL949749v2_alt"    "chr19_GL949750v2_alt"   
## [231] "chr19_GL949751v2_alt"    "chr19_GL949752v1_alt"   
## [233] "chr19_GL949753v2_alt"    "chr19_KI270865v1_alt"   
## [235] "chr19_KI270866v1_alt"    "chr19_KI270867v1_alt"   
## [237] "chr19_KI270868v1_alt"    "chr19_KI270882v1_alt"   
## [239] "chr19_KI270883v1_alt"    "chr19_KI270884v1_alt"   
## [241] "chr19_KI270885v1_alt"    "chr19_KI270886v1_alt"   
## [243] "chr19_KI270887v1_alt"    "chr19_KI270888v1_alt"   
## [245] "chr19_KI270889v1_alt"    "chr19_KI270890v1_alt"   
## [247] "chr19_KI270891v1_alt"    "chr19_KI270914v1_alt"   
## [249] "chr19_KI270915v1_alt"    "chr19_KI270916v1_alt"   
## [251] "chr19_KI270917v1_alt"    "chr19_KI270918v1_alt"   
## [253] "chr19_KI270919v1_alt"    "chr19_KI270920v1_alt"   
## [255] "chr19_KI270921v1_alt"    "chr19_KI270922v1_alt"   
## [257] "chr19_KI270923v1_alt"    "chr19_KI270929v1_alt"   
## [259] "chr19_KI270930v1_alt"    "chr19_KI270931v1_alt"   
## [261] "chr19_KI270932v1_alt"    "chr19_KI270933v1_alt"   
## [263] "chr19_KI270938v1_alt"    "chr20_GL383577v2_alt"   
## [265] "chr20_KI270869v1_alt"    "chr20_KI270870v1_alt"   
## [267] "chr20_KI270871v1_alt"    "chr21_GL383578v2_alt"   
## [269] "chr21_GL383579v2_alt"    "chr21_GL383580v2_alt"   
## [271] "chr21_GL383581v2_alt"    "chr21_KI270872v1_alt"   
## [273] "chr21_KI270873v1_alt"    "chr21_KI270874v1_alt"   
## [275] "chr22_GL383582v2_alt"    "chr22_GL383583v2_alt"   
## [277] "chr22_KB663609v1_alt"    "chr22_KI270875v1_alt"   
## [279] "chr22_KI270876v1_alt"    "chr22_KI270877v1_alt"   
## [281] "chr22_KI270878v1_alt"    "chr22_KI270879v1_alt"   
## [283] "chr22_KI270928v1_alt"    "chrX_KI270880v1_alt"    
## [285] "chrX_KI270881v1_alt"     "chrX_KI270913v1_alt"    
## [287] "chr1_KI270706v1_random"  "chr1_KI270707v1_random" 
## [289] "chr1_KI270708v1_random"  "chr1_KI270709v1_random" 
## [291] "chr1_KI270710v1_random"  "chr1_KI270711v1_random" 
## [293] "chr1_KI270712v1_random"  "chr1_KI270713v1_random" 
## [295] "chr1_KI270714v1_random"  "chr2_KI270715v1_random" 
## [297] "chr2_KI270716v1_random"  "chr3_GL000221v1_random" 
## [299] "chr4_GL000008v2_random"  "chr5_GL000208v1_random" 
## [301] "chr9_KI270717v1_random"  "chr9_KI270718v1_random" 
## [303] "chr9_KI270719v1_random"  "chr9_KI270720v1_random" 
## [305] "chr11_KI270721v1_random" "chr14_GL000009v2_random"
## [307] "chr14_GL000194v1_random" "chr14_GL000225v1_random"
## [309] "chr14_KI270722v1_random" "chr14_KI270723v1_random"
## [311] "chr14_KI270724v1_random" "chr14_KI270725v1_random"
## [313] "chr14_KI270726v1_random" "chr15_KI270727v1_random"
## [315] "chr16_KI270728v1_random" "chr17_GL000205v2_random"
## [317] "chr17_KI270729v1_random" "chr17_KI270730v1_random"
## [319] "chr22_KI270731v1_random" "chr22_KI270732v1_random"
## [321] "chr22_KI270733v1_random" "chr22_KI270734v1_random"
## [323] "chr22_KI270735v1_random" "chr22_KI270736v1_random"
## [325] "chr22_KI270737v1_random" "chr22_KI270738v1_random"
## [327] "chr22_KI270739v1_random" "chrY_KI270740v1_random" 
## [329] "chrUn_GL000195v1"        "chrUn_GL000213v1"       
## [331] "chrUn_GL000214v1"        "chrUn_GL000216v2"       
## [333] "chrUn_GL000218v1"        "chrUn_GL000219v1"       
## [335] "chrUn_GL000220v1"        "chrUn_GL000224v1"       
## [337] "chrUn_GL000226v1"        "chrUn_KI270302v1"       
## [339] "chrUn_KI270303v1"        "chrUn_KI270304v1"       
## [341] "chrUn_KI270305v1"        "chrUn_KI270310v1"       
## [343] "chrUn_KI270311v1"        "chrUn_KI270312v1"       
## [345] "chrUn_KI270315v1"        "chrUn_KI270316v1"       
## [347] "chrUn_KI270317v1"        "chrUn_KI270320v1"       
## [349] "chrUn_KI270322v1"        "chrUn_KI270329v1"       
## [351] "chrUn_KI270330v1"        "chrUn_KI270333v1"       
## [353] "chrUn_KI270334v1"        "chrUn_KI270335v1"       
## [355] "chrUn_KI270336v1"        "chrUn_KI270337v1"       
## [357] "chrUn_KI270338v1"        "chrUn_KI270340v1"       
## [359] "chrUn_KI270362v1"        "chrUn_KI270363v1"       
## [361] "chrUn_KI270364v1"        "chrUn_KI270366v1"       
## [363] "chrUn_KI270371v1"        "chrUn_KI270372v1"       
## [365] "chrUn_KI270373v1"        "chrUn_KI270374v1"       
## [367] "chrUn_KI270375v1"        "chrUn_KI270376v1"       
## [369] "chrUn_KI270378v1"        "chrUn_KI270379v1"       
## [371] "chrUn_KI270381v1"        "chrUn_KI270382v1"       
## [373] "chrUn_KI270383v1"        "chrUn_KI270384v1"       
## [375] "chrUn_KI270385v1"        "chrUn_KI270386v1"       
## [377] "chrUn_KI270387v1"        "chrUn_KI270388v1"       
## [379] "chrUn_KI270389v1"        "chrUn_KI270390v1"       
## [381] "chrUn_KI270391v1"        "chrUn_KI270392v1"       
## [383] "chrUn_KI270393v1"        "chrUn_KI270394v1"       
## [385] "chrUn_KI270395v1"        "chrUn_KI270396v1"       
## [387] "chrUn_KI270411v1"        "chrUn_KI270412v1"       
## [389] "chrUn_KI270414v1"        "chrUn_KI270417v1"       
## [391] "chrUn_KI270418v1"        "chrUn_KI270419v1"       
## [393] "chrUn_KI270420v1"        "chrUn_KI270422v1"       
## [395] "chrUn_KI270423v1"        "chrUn_KI270424v1"       
## [397] "chrUn_KI270425v1"        "chrUn_KI270429v1"       
## [399] "chrUn_KI270435v1"        "chrUn_KI270438v1"       
## [401] "chrUn_KI270442v1"        "chrUn_KI270448v1"       
## [403] "chrUn_KI270465v1"        "chrUn_KI270466v1"       
## [405] "chrUn_KI270467v1"        "chrUn_KI270468v1"       
## [407] "chrUn_KI270507v1"        "chrUn_KI270508v1"       
## [409] "chrUn_KI270509v1"        "chrUn_KI270510v1"       
## [411] "chrUn_KI270511v1"        "chrUn_KI270512v1"       
## [413] "chrUn_KI270515v1"        "chrUn_KI270516v1"       
## [415] "chrUn_KI270517v1"        "chrUn_KI270518v1"       
## [417] "chrUn_KI270519v1"        "chrUn_KI270521v1"       
## [419] "chrUn_KI270522v1"        "chrUn_KI270528v1"       
## [421] "chrUn_KI270529v1"        "chrUn_KI270530v1"       
## [423] "chrUn_KI270538v1"        "chrUn_KI270539v1"       
## [425] "chrUn_KI270544v1"        "chrUn_KI270548v1"       
## [427] "chrUn_KI270579v1"        "chrUn_KI270580v1"       
## [429] "chrUn_KI270581v1"        "chrUn_KI270582v1"       
## [431] "chrUn_KI270583v1"        "chrUn_KI270584v1"       
## [433] "chrUn_KI270587v1"        "chrUn_KI270588v1"       
## [435] "chrUn_KI270589v1"        "chrUn_KI270590v1"       
## [437] "chrUn_KI270591v1"        "chrUn_KI270593v1"       
## [439] "chrUn_KI270741v1"        "chrUn_KI270742v1"       
## [441] "chrUn_KI270743v1"        "chrUn_KI270744v1"       
## [443] "chrUn_KI270745v1"        "chrUn_KI270746v1"       
## [445] "chrUn_KI270747v1"        "chrUn_KI270748v1"       
## [447] "chrUn_KI270749v1"        "chrUn_KI270750v1"       
## [449] "chrUn_KI270751v1"        "chrUn_KI270752v1"       
## [451] "chrUn_KI270753v1"        "chrUn_KI270754v1"       
## [453] "chrUn_KI270755v1"        "chrUn_KI270756v1"       
## [455] "chrUn_KI270757v1"        "chr1_KN196472v1_fix"    
## [457] "chr1_KN196473v1_fix"     "chr1_KN196474v1_fix"    
## [459] "chr1_KN538360v1_fix"     "chr1_KN538361v1_fix"    
## [461] "chr1_KQ031383v1_fix"     "chr1_KZ208906v1_fix"    
## [463] "chr1_KZ559100v1_fix"     "chr1_MU273333v1_fix"    
## [465] "chr1_MU273334v1_fix"     "chr1_MU273335v1_fix"    
## [467] "chr1_MU273336v1_fix"     "chr2_KN538362v1_fix"    
## [469] "chr2_KN538363v1_fix"     "chr2_KQ031384v1_fix"    
## [471] "chr2_ML143341v1_fix"     "chr2_ML143342v1_fix"    
## [473] "chr2_MU273341v1_fix"     "chr2_MU273342v1_fix"    
## [475] "chr2_MU273343v1_fix"     "chr2_MU273344v1_fix"    
## [477] "chr2_MU273345v1_fix"     "chr3_KN196475v1_fix"    
## [479] "chr3_KN196476v1_fix"     "chr3_KN538364v1_fix"    
## [481] "chr3_KQ031385v1_fix"     "chr3_KQ031386v1_fix"    
## [483] "chr3_KV766192v1_fix"     "chr3_KZ559104v1_fix"    
## [485] "chr3_MU273346v1_fix"     "chr3_MU273347v1_fix"    
## [487] "chr3_MU273348v1_fix"     "chr4_KQ983257v1_fix"    
## [489] "chr4_ML143344v1_fix"     "chr4_ML143345v1_fix"    
## [491] "chr4_ML143346v1_fix"     "chr4_ML143347v1_fix"    
## [493] "chr4_ML143348v1_fix"     "chr4_ML143349v1_fix"    
## [495] "chr4_MU273350v1_fix"     "chr4_MU273351v1_fix"    
## [497] "chr5_KV575244v1_fix"     "chr5_ML143350v1_fix"    
## [499] "chr5_MU273352v1_fix"     "chr5_MU273353v1_fix"    
## [501] "chr5_MU273354v1_fix"     "chr5_MU273355v1_fix"    
## [503] "chr6_KN196478v1_fix"     "chr6_KQ031387v1_fix"    
## [505] "chr6_KQ090016v1_fix"     "chr6_KV766194v1_fix"    
## [507] "chr6_KZ208911v1_fix"     "chr6_ML143351v1_fix"    
## [509] "chr7_KQ031388v1_fix"     "chr7_KV880764v1_fix"    
## [511] "chr7_KV880765v1_fix"     "chr7_KZ208912v1_fix"    
## [513] "chr7_ML143352v1_fix"     "chr8_KV880766v1_fix"    
## [515] "chr8_KV880767v1_fix"     "chr8_KZ208914v1_fix"    
## [517] "chr8_KZ208915v1_fix"     "chr8_MU273359v1_fix"    
## [519] "chr8_MU273360v1_fix"     "chr8_MU273361v1_fix"    
## [521] "chr8_MU273362v1_fix"     "chr8_MU273363v1_fix"    
## [523] "chr9_KN196479v1_fix"     "chr9_ML143353v1_fix"    
## [525] "chr9_MU273364v1_fix"     "chr9_MU273365v1_fix"    
## [527] "chr9_MU273366v1_fix"     "chr10_KN196480v1_fix"   
## [529] "chr10_KN538365v1_fix"    "chr10_KN538366v1_fix"   
## [531] "chr10_KN538367v1_fix"    "chr10_KQ090021v1_fix"   
## [533] "chr10_ML143354v1_fix"    "chr10_ML143355v1_fix"   
## [535] "chr10_MU273367v1_fix"    "chr11_KN196481v1_fix"   
## [537] "chr11_KQ090022v1_fix"    "chr11_KQ759759v1_fix"   
## [539] "chr11_KQ759759v2_fix"    "chr11_KV766195v1_fix"   
## [541] "chr11_KZ559108v1_fix"    "chr11_KZ559109v1_fix"   
## [543] "chr11_ML143356v1_fix"    "chr11_ML143357v1_fix"   
## [545] "chr11_ML143358v1_fix"    "chr11_ML143359v1_fix"   
## [547] "chr11_ML143360v1_fix"    "chr11_MU273369v1_fix"   
## [549] "chr11_MU273370v1_fix"    "chr11_MU273371v1_fix"   
## [551] "chr12_KN196482v1_fix"    "chr12_KN538369v1_fix"   
## [553] "chr12_KN538370v1_fix"    "chr12_KQ759760v1_fix"   
## [555] "chr12_KZ208916v1_fix"    "chr12_KZ208917v1_fix"   
## [557] "chr12_ML143361v1_fix"    "chr12_ML143362v1_fix"   
## [559] "chr12_MU273372v1_fix"    "chr13_KN196483v1_fix"   
## [561] "chr13_KN538371v1_fix"    "chr13_KN538372v1_fix"   
## [563] "chr13_KN538373v1_fix"    "chr13_ML143363v1_fix"   
## [565] "chr13_ML143364v1_fix"    "chr13_ML143365v1_fix"   
## [567] "chr13_ML143366v1_fix"    "chr14_KZ208920v1_fix"   
## [569] "chr14_ML143367v1_fix"    "chr14_MU273373v1_fix"   
## [571] "chr15_KN538374v1_fix"    "chr15_ML143369v1_fix"   
## [573] "chr15_ML143370v1_fix"    "chr15_ML143371v1_fix"   
## [575] "chr15_ML143372v1_fix"    "chr15_MU273374v1_fix"   
## [577] "chr16_KV880768v1_fix"    "chr16_KZ559113v1_fix"   
## [579] "chr16_ML143373v1_fix"    "chr16_MU273376v1_fix"   
## [581] "chr16_MU273377v1_fix"    "chr17_KV575245v1_fix"   
## [583] "chr17_KV766196v1_fix"    "chr17_ML143374v1_fix"   
## [585] "chr17_ML143375v1_fix"    "chr17_MU273379v1_fix"   
## [587] "chr17_MU273380v1_fix"    "chr17_MU273381v1_fix"   
## [589] "chr17_MU273382v1_fix"    "chr17_MU273383v1_fix"   
## [591] "chr18_KQ090028v1_fix"    "chr18_KZ208922v1_fix"   
## [593] "chr18_KZ559115v1_fix"    "chr19_KN196484v1_fix"   
## [595] "chr19_KQ458386v1_fix"    "chr19_ML143376v1_fix"   
## [597] "chr19_MU273384v1_fix"    "chr19_MU273385v1_fix"   
## [599] "chr19_MU273386v1_fix"    "chr20_MU273388v1_fix"   
## [601] "chr20_MU273389v1_fix"    "chr21_ML143377v1_fix"   
## [603] "chr21_MU273390v1_fix"    "chr21_MU273391v1_fix"   
## [605] "chr21_MU273392v1_fix"    "chr22_KQ759762v1_fix"   
## [607] "chr22_KQ759762v2_fix"    "chr22_ML143378v1_fix"   
## [609] "chr22_ML143379v1_fix"    "chr22_ML143380v1_fix"   
## [611] "chrX_ML143381v1_fix"     "chrX_ML143382v1_fix"    
## [613] "chrX_ML143383v1_fix"     "chrX_ML143384v1_fix"    
## [615] "chrX_ML143385v1_fix"     "chrX_MU273393v1_fix"    
## [617] "chrX_MU273394v1_fix"     "chrY_KN196487v1_fix"    
## [619] "chrY_KZ208923v1_fix"     "chrY_KZ208924v1_fix"    
## [621] "chrY_MU273398v1_fix"     "chr1_KQ458382v1_alt"    
## [623] "chr1_KQ458383v1_alt"     "chr1_KQ458384v1_alt"    
## [625] "chr1_KQ983255v1_alt"     "chr1_KV880763v1_alt"    
## [627] "chr1_KZ208904v1_alt"     "chr1_KZ208905v1_alt"    
## [629] "chr1_MU273330v1_alt"     "chr1_MU273331v1_alt"    
## [631] "chr1_MU273332v1_alt"     "chr2_KQ983256v1_alt"    
## [633] "chr2_KZ208907v1_alt"     "chr2_KZ208908v1_alt"    
## [635] "chr2_MU273337v1_alt"     "chr2_MU273338v1_alt"    
## [637] "chr2_MU273339v1_alt"     "chr2_MU273340v1_alt"    
## [639] "chr3_KZ208909v1_alt"     "chr3_KZ559101v1_alt"    
## [641] "chr3_KZ559102v1_alt"     "chr3_KZ559103v1_alt"    
## [643] "chr3_KZ559105v1_alt"     "chr3_ML143343v1_alt"    
## [645] "chr4_KQ090013v1_alt"     "chr4_KQ090014v1_alt"    
## [647] "chr4_KQ090015v1_alt"     "chr4_KQ983258v1_alt"    
## [649] "chr4_KV766193v1_alt"     "chr4_MU273349v1_alt"    
## [651] "chr5_KN196477v1_alt"     "chr5_KV575243v1_alt"    
## [653] "chr5_KZ208910v1_alt"     "chr5_MU273356v1_alt"    
## [655] "chr6_KQ090017v1_alt"     "chr6_MU273357v1_alt"    
## [657] "chr7_KZ208913v1_alt"     "chr7_KZ559106v1_alt"    
## [659] "chr7_MU273358v1_alt"     "chr8_KZ559107v1_alt"    
## [661] "chr9_KQ090018v1_alt"     "chr9_KQ090019v1_alt"    
## [663] "chr10_KQ090020v1_alt"    "chr11_KN538368v1_alt"   
## [665] "chr11_KZ559110v1_alt"    "chr11_KZ559111v1_alt"   
## [667] "chr11_MU273368v1_alt"    "chr12_KQ090023v1_alt"   
## [669] "chr12_KZ208918v1_alt"    "chr12_KZ559112v1_alt"   
## [671] "chr13_KQ090024v1_alt"    "chr13_KQ090025v1_alt"   
## [673] "chr14_KZ208919v1_alt"    "chr14_ML143368v1_alt"   
## [675] "chr15_KQ031389v1_alt"    "chr15_MU273375v1_alt"   
## [677] "chr16_KQ031390v1_alt"    "chr16_KQ090026v1_alt"   
## [679] "chr16_KQ090027v1_alt"    "chr16_KZ208921v1_alt"   
## [681] "chr17_KV766197v1_alt"    "chr17_KV766198v1_alt"   
## [683] "chr17_KZ559114v1_alt"    "chr17_MU273378v1_alt"   
## [685] "chr18_KQ458385v1_alt"    "chr18_KZ559116v1_alt"   
## [687] "chr19_KV575246v1_alt"    "chr19_KV575247v1_alt"   
## [689] "chr19_KV575248v1_alt"    "chr19_KV575249v1_alt"   
## [691] "chr19_KV575250v1_alt"    "chr19_KV575251v1_alt"   
## [693] "chr19_KV575252v1_alt"    "chr19_KV575253v1_alt"   
## [695] "chr19_KV575254v1_alt"    "chr19_KV575255v1_alt"   
## [697] "chr19_KV575256v1_alt"    "chr19_KV575257v1_alt"   
## [699] "chr19_KV575258v1_alt"    "chr19_KV575259v1_alt"   
## [701] "chr19_KV575260v1_alt"    "chr19_MU273387v1_alt"   
## [703] "chr22_KN196485v1_alt"    "chr22_KN196486v1_alt"   
## [705] "chr22_KQ458387v1_alt"    "chr22_KQ458388v1_alt"   
## [707] "chr22_KQ759761v1_alt"    "chrX_KV766199v1_alt"    
## [709] "chrX_MU273395v1_alt"     "chrX_MU273396v1_alt"    
## [711] "chrX_MU273397v1_alt"

Visualizing Transcripts with ggbio Plot Transcripts of the BRCA1 gene

# Subset for a specific transcript of the BRCA1 gene
gr <- subset(transcripts(txdb), tx_name == "ENST00000357654.9")

# Create the plot
p <- autoplot(txdb, 
              which = gr, 
              geom = "full", 
              coord = "genome", 
              layout = "linear")
## Parsing transcripts...
## Parsing exons...
## Parsing cds...
## Parsing utrs...
## ------exons...
## ------cdss...
## ------introns...
## ------utr...
## aggregating...
## Done
## Constructing graphics...
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
p

Explore Available Transcript IDs

all_transcripts <- transcripts(txdb)
head(all_transcripts$tx_name)
## [1] "ENST00000456328.2" "ENST00000450305.2" "ENST00000473358.1"
## [4] "ENST00000469289.1" "ENST00000607096.1" "ENST00000606857.1"

DEADplot

brca1 <- subset(transcripts(txdb), tx_name == "ENST00000357654.9")

print(brca1)
## GRanges object with 1 range and 2 metadata columns:
##       seqnames            ranges strand |     tx_id           tx_name
##          <Rle>         <IRanges>  <Rle> | <integer>       <character>
##   [1]    chr17 43044295-43125364      - |    206113 ENST00000357654.9
##   -------
##   seqinfo: 711 sequences (1 circular) from hg38 genome
brca1plot <- autoplot(txdb, 
which = brca1, 
geom = "full", 
coord = "genome", 
layout = "linear")
## Parsing transcripts...
## Parsing exons...
## Parsing cds...
## Parsing utrs...
## ------exons...
## ------cdss...
## ------introns...
## ------utr...
## aggregating...
## Done
## Constructing graphics...
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
## Warning in (function (mapping = NULL, data = NULL, stat = "identity", position
## = "identity", : Ignoring unknown parameters: `coord` and `layout`
brca1plot