TxDb.Athaliana.Ensembl.TAIR10 provides transcript annotation
information for Arabidopsis thaliana TAIR10.
This vignette demonstrates how to retrieve the transcript database from
AnnotationHub and access genes, transcripts, exons, coding sequences,
promoter regions, and feature relationships.
Install the package from Bioconductor with:
BiocManager::install("TxDb.Athaliana.Ensembl.TAIR10")
library(AnnotationHub)
library(GenomicFeatures)
library(GenomicRanges)
The TxDb object is retrieved using its AnnotationHub record:
ah <- AnnotationHub::AnnotationHub()
TxDb.Athaliana.Ensembl.TAIR10 <- ah[["AH122287"]]
Check the class of the retrieved object:
class(TxDb.Athaliana.Ensembl.TAIR10)
## [1] "TxDb"
## attr(,"package")
## [1] "GenomicFeatures"
Display the transcript database:
TxDb.Athaliana.Ensembl.TAIR10
## TxDb object:
## # Db type: TxDb
## # Supporting package: GenomicFeatures
## # Data source: Ensembl Plants release 63
## # Organism: Arabidopsis thaliana
## # Taxonomy ID: 3702
## # Genome: TAIR10
## # Nb of transcripts: 54013
## # Db created by: txdbmaker package from Bioconductor
## # Creation time: 2026-10-31 03:40:01 +0500 (Sat, 31 Oct 2026)
## # txdbmaker version at creation time: 1.9.0
## # RSQLite version at creation time: 3.53.3
## # DBSCHEMAVERSION: 1.2
A summary can also be obtained with:
summary(TxDb.Athaliana.Ensembl.TAIR10)
## Length Class Mode
## 1 TxDb S4
The sequence information is available through seqinfo():
seqinfo(TxDb.Athaliana.Ensembl.TAIR10)
## Seqinfo object with 7 sequences (2 circular) from TAIR10 genome:
## seqnames seqnames seqlengths isCircular genome
## 1 1 30427671 FALSE TAIR10
## 2 2 19698289 FALSE TAIR10
## 3 3 23459830 FALSE TAIR10
## 4 4 18585056 FALSE TAIR10
## 5 5 26975502 FALSE TAIR10
## 6 Mt 366924 TRUE TAIR10
## 7 Pt 154478 TRUE TAIR10
The available sequence levels can be obtained with:
seqlevels(TxDb.Athaliana.Ensembl.TAIR10)
## [1] "1" "2" "3" "4" "5" "Mt" "Pt"
Gene ranges can be extracted with genes():
gene_annotations <- genes(TxDb.Athaliana.Ensembl.TAIR10)
gene_annotations
## GRanges object with 32833 ranges and 1 metadata column:
## seqnames ranges strand | gene_id
## <Rle> <IRanges> <Rle> | <character>
## AT1G01010 1 3631-5899 + | AT1G01010
## AT1G01020 1 6788-9130 - | AT1G01020
## AT1G01030 1 11649-13714 - | AT1G01030
## AT1G01040 1 23121-31227 + | AT1G01040
## AT1G01046 1 28500-28706 + | AT1G01046
## ... ... ... ... . ...
## ATMG09730 Mt 181268-181347 + | ATMG09730
## ATMG09740 Mt 191954-192025 - | ATMG09740
## ATMG09950 Mt 333651-333725 - | ATMG09950
## ATMG09960 Mt 347266-347348 + | ATMG09960
## ATMG09980 Mt 359666-359739 - | ATMG09980
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
Transcript ranges can be extracted with transcripts():
transcript_annotations <- transcripts(TxDb.Athaliana.Ensembl.TAIR10)
transcript_annotations
## GRanges object with 54013 ranges and 2 metadata columns:
## seqnames ranges strand | tx_id tx_name
## <Rle> <IRanges> <Rle> | <integer> <character>
## [1] 1 3631-5899 + | 1 AT1G01010.1
## [2] 1 11101-11372 + | 2 AT1G03987.1
## [3] 1 23121-31227 + | 3 AT1G01040.1
## [4] 1 23416-31120 + | 4 AT1G01040.2
## [5] 1 28500-28706 + | 5 at1g01046
## ... ... ... ... . ... ...
## [54009] Pt 135048-135848 - | 54009 ATCG01200.1
## [54010] Pt 136147-137637 - | 54010 ATCG01210.1
## [54011] Pt 137869-137940 - | 54011 ATCG01220.1
## [54012] Pt 144921-145154 - | 54012 ATCG01270.1
## [54013] Pt 145291-152175 - | 54013 ATCG01280.1
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
Exon ranges can be extracted with exons():
exon_annotations <- exons(TxDb.Athaliana.Ensembl.TAIR10)
exon_annotations
## GRanges object with 196887 ranges and 1 metadata column:
## seqnames ranges strand | exon_id
## <Rle> <IRanges> <Rle> | <integer>
## [1] 1 3631-3913 + | 1
## [2] 1 3996-4276 + | 2
## [3] 1 4486-4605 + | 3
## [4] 1 4706-5095 + | 4
## [5] 1 5174-5326 + | 5
## ... ... ... ... . ...
## [196883] Pt 135812-135848 - | 196883
## [196884] Pt 136147-137637 - | 196884
## [196885] Pt 137869-137940 - | 196885
## [196886] Pt 144921-145154 - | 196886
## [196887] Pt 145291-152175 - | 196887
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
Coding sequence ranges can be extracted with cds():
cds_annotations <- cds(TxDb.Athaliana.Ensembl.TAIR10)
cds_annotations
## GRanges object with 286067 ranges and 1 metadata column:
## seqnames ranges strand | cds_id
## <Rle> <IRanges> <Rle> | <integer>
## [1] 1 3760-3913 + | 1
## [2] 1 3996-4276 + | 2
## [3] 1 4486-4605 + | 3
## [4] 1 4706-5095 + | 4
## [5] 1 5174-5326 + | 5
## ... ... ... ... . ...
## [286063] Pt 122011-123192 - | 286063
## [286064] Pt 123296-123562 - | 286064
## [286065] Pt 123884-129244 - | 286065
## [286066] Pt 144921-145154 - | 286066
## [286067] Pt 145291-152175 - | 286067
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
Promoter regions can be generated using promoters():
promoter_annotations <- promoters(
TxDb.Athaliana.Ensembl.TAIR10,
upstream = 2000,
downstream = 200
)
## Warning in valid.GenomicRanges.seqinfo(x, suggest.trim = TRUE): GRanges object contains 7 out-of-bound ranges located on sequences 2, 3, and
## 5. Note that ranges located on a sequence whose length is unknown (NA) or on
## a circular sequence are not considered out-of-bound (use seqlengths() and
## isCircular() to get the lengths and circularity flags of the underlying
## sequences). You can use trim() to trim these ranges. See
## ?`trim,GenomicRanges-method` for more information.
promoter_annotations
## GRanges object with 54013 ranges and 2 metadata columns:
## seqnames ranges strand | tx_id tx_name
## <Rle> <IRanges> <Rle> | <integer> <character>
## AT1G01010.1 1 1631-3830 + | 1 AT1G01010.1
## AT1G03987.1 1 9101-11300 + | 2 AT1G03987.1
## AT1G01040.1 1 21121-23320 + | 3 AT1G01040.1
## AT1G01040.2 1 21416-23615 + | 4 AT1G01040.2
## at1g01046 1 26500-28699 + | 5 at1g01046
## ... ... ... ... . ... ...
## ATCG01200.1 Pt 135649-137848 - | 54009 ATCG01200.1
## ATCG01210.1 Pt 137438-139637 - | 54010 ATCG01210.1
## ATCG01220.1 Pt 137741-139940 - | 54011 ATCG01220.1
## ATCG01270.1 Pt 144955-147154 - | 54012 ATCG01270.1
## ATCG01280.1 Pt 151976-154175 - | 54013 ATCG01280.1
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
Transcripts can be grouped by gene with transcriptsBy():
transcripts_by_gene <- transcriptsBy(
TxDb.Athaliana.Ensembl.TAIR10,
by = "gene"
)
transcripts_by_gene
## GRangesList object of length 32833:
## $AT1G01010
## GRanges object with 1 range and 2 metadata columns:
## seqnames ranges strand | tx_id tx_name
## <Rle> <IRanges> <Rle> | <integer> <character>
## [1] 1 3631-5899 + | 1 AT1G01010.1
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
##
## $AT1G01020
## GRanges object with 6 ranges and 2 metadata columns:
## seqnames ranges strand | tx_id tx_name
## <Rle> <IRanges> <Rle> | <integer> <character>
## [1] 1 6788-8737 - | 7164 AT1G01020.2
## [2] 1 6788-8737 - | 7165 AT1G01020.6
## [3] 1 6788-9130 - | 7166 AT1G01020.1
## [4] 1 6788-9130 - | 7167 AT1G01020.3
## [5] 1 6788-9130 - | 7168 AT1G01020.4
## [6] 1 6788-9130 - | 7169 AT1G01020.5
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
##
## $AT1G01030
## GRanges object with 2 ranges and 2 metadata columns:
## seqnames ranges strand | tx_id tx_name
## <Rle> <IRanges> <Rle> | <integer> <character>
## [1] 1 11649-13714 - | 7170 AT1G01030.1
## [2] 1 11649-13714 - | 7171 AT1G01030.2
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
##
## ...
## <32830 more elements>
Exons can be grouped by transcript with exonsBy():
exons_by_transcript <- exonsBy(
TxDb.Athaliana.Ensembl.TAIR10,
by = "tx"
)
exons_by_transcript
## GRangesList object of length 54013:
## $`1`
## GRanges object with 6 ranges and 3 metadata columns:
## seqnames ranges strand | exon_id exon_name exon_rank
## <Rle> <IRanges> <Rle> | <integer> <character> <integer>
## [1] 1 3631-3913 + | 1 AT1G01010.1.exon1 1
## [2] 1 3996-4276 + | 2 AT1G01010.1.exon2 2
## [3] 1 4486-4605 + | 3 AT1G01010.1.exon3 3
## [4] 1 4706-5095 + | 4 AT1G01010.1.exon4 4
## [5] 1 5174-5326 + | 5 AT1G01010.1.exon5 5
## [6] 1 5439-5899 + | 6 AT1G01010.1.exon6 6
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
##
## $`2`
## GRanges object with 1 range and 3 metadata columns:
## seqnames ranges strand | exon_id exon_name exon_rank
## <Rle> <IRanges> <Rle> | <integer> <character> <integer>
## [1] 1 11101-11372 + | 7 AT1G03987.1.exon1 1
## -------
## seqinfo: 7 sequences (2 circular) from TAIR10 genome
##
## ...
## <54011 more elements>
The chromosome assignments of genes can be inspected with:
head(seqnames(gene_annotations))
## factor-Rle of length 6 with 1 run
## Lengths: 6
## Values : 1
## Levels(7): 1 2 3 4 5 Mt Pt
sessionInfo()
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 24.04.5 LTS
##
## Matrix products: default
## BLAS: /home/biocbuild/bbs-3.24-bioc/R/lib/libRblas.so
## LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.12.0 LAPACK version 3.12.0
##
## locale:
## [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
## [3] LC_TIME=en_GB LC_COLLATE=C
## [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
## [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
## [9] LC_ADDRESS=C LC_TELEPHONE=C
## [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
##
## time zone: America/New_York
## tzcode source: system (glibc)
##
## attached base packages:
## [1] stats4 stats graphics grDevices utils datasets methods
## [8] base
##
## other attached packages:
## [1] GenomicFeatures_1.65.0 AnnotationDbi_1.75.2 Biobase_2.73.2
## [4] GenomicRanges_1.65.4 Seqinfo_1.3.2 IRanges_2.47.5
## [7] S4Vectors_0.51.10 AnnotationHub_4.3.3 BiocFileCache_3.3.3
## [10] dbplyr_2.6.0 BiocGenerics_0.59.12 generics_0.1.4
## [13] BiocStyle_2.41.0
##
## loaded via a namespace (and not attached):
## [1] KEGGREST_1.53.6 rjson_0.2.23 xfun_0.62
## [4] bslib_0.12.0 httr2_1.3.0 vctrs_0.7.3
## [7] tools_4.6.1 bitops_1.1-0 parallel_4.6.1
## [10] curl_8.1.0 tibble_3.3.1 RSQLite_3.53.3
## [13] blob_1.3.0 pkgconfig_2.0.3 BiocBaseUtils_1.15.1
## [16] cigarillo_1.3.1 lifecycle_1.0.5 compiler_4.6.1
## [19] Rsamtools_2.29.0 Biostrings_2.81.9 codetools_0.2-20
## [22] htmltools_0.5.9 sass_0.4.10 RCurl_1.98-1.20
## [25] yaml_2.3.12 pillar_1.11.1 crayon_1.5.3
## [28] jquerylib_0.1.4 BiocParallel_1.47.0 cachem_1.1.0
## [31] tidyselect_1.2.1 digest_0.6.39 purrr_1.2.2
## [34] dplyr_1.2.1 restfulr_0.0.17 bookdown_0.48
## [37] BiocVersion_3.24.0 fastmap_1.2.0 cli_3.6.6
## [40] magrittr_2.0.5 XML_3.99-0.25 withr_3.0.3
## [43] filelock_1.0.3 rappdirs_0.3.4 bit64_4.8.6
## [46] rmarkdown_2.32 XVector_0.53.0 httr_1.4.9
## [49] bit_4.6.0 otel_0.3.0 png_0.1-9
## [52] memoise_2.0.1 evaluate_1.0.5 knitr_1.52
## [55] BiocIO_1.23.3 rtracklayer_1.73.0 rlang_1.3.0
## [58] glue_1.8.1 DBI_1.3.0 BiocManager_1.30.27
## [61] jsonlite_2.0.0 R6_2.6.1 GenomicAlignments_1.49.2