--- title: "Transcript Annotation Database for *Glycine max*" author: "Kabilan S" date: "2026-08-15" output: BiocStyle::html_document vignette: > %\VignetteIndexEntry{Transcript Annotation Database for Glycine max} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- # Introduction **TxDb.Gmax.JGI.Gmv4** is a Bioconductor-compatible transcript annotation package for *Glycine max* generated from the official **JGI/Phytozome GFF3 annotation** based on the **Glycine max Wm82.a4.v1** reference genome. The package provides genomic coordinates and transcript models, including genes, transcripts, exons, coding sequences (CDS), and promoter regions. It is intended for downstream genomic analyses using Bioconductor packages such as **GenomicFeatures**, **GenomicRanges**, **Signac**, **ArchR**, and **ChIPseeker**. The TxDb object is retrieved from **AnnotationHub** using its corresponding AnnotationHub record. # Installation Install the package and its dependencies from Bioconductor with: ```{r install, eval=FALSE} if (!requireNamespace("BiocManager", quietly = TRUE)) { install.packages("BiocManager") } BiocManager::install(c( "TxDb.Gmax.JGI.Gmv4", "AnnotationHub", "GenomicFeatures", "GenomicRanges" )) ``` # Loading the package ```{r loading, message=FALSE, warning=FALSE} library(TxDb.Gmax.JGI.Gmv4) library(AnnotationHub) library(GenomicFeatures) library(GenomicRanges) ``` # Retrieve the TxDb object from AnnotationHub The TxDb object is available through `AnnotationHub`: ```{r annotationhub, message=FALSE, warning=FALSE} ah <- AnnotationHub::AnnotationHub() TxDb.Gmax.JGI.Gmv4 <- ah[["AH122288"]] ``` Check the class of the retrieved object: ```{r class} class(TxDb.Gmax.JGI.Gmv4) ``` # Package summary Display the transcript database: ```{r summary} TxDb.Gmax.JGI.Gmv4 ``` A summary can also be obtained with: ```{r summary-function} summary(TxDb.Gmax.JGI.Gmv4) ``` # Chromosome information The chromosome and sequence information can be examined with `seqinfo()`: ```{r chromosome} seqinfo(TxDb.Gmax.JGI.Gmv4) ``` # Available chromosomes The available sequence levels can be obtained with: ```{r avl-chromosomes} seqlevels(TxDb.Gmax.JGI.Gmv4) ``` The Wm82.a4.v1 assembly contains 20 nuclear chromosomes, which contain the majority of the annotated genes. # Gene annotations Gene ranges can be retrieved with `genes()`: ```{r gene-annotations} gene_annotations <- genes(TxDb.Gmax.JGI.Gmv4) gene_annotations ``` # Transcript annotations Transcript ranges can be retrieved with `transcripts()`: ```{r transcript-annotations} transcript_annotations <- transcripts(TxDb.Gmax.JGI.Gmv4) head(transcript_annotations) ``` # Exon annotations Exon ranges can be retrieved with `exons()`: ```{r exon-annotations} exon_annotations <- exons(TxDb.Gmax.JGI.Gmv4) head(exon_annotations) ``` # Coding sequence (CDS) annotations Coding sequence ranges can be retrieved with `cds()`: ```{r cds} cds_annotations <- cds(TxDb.Gmax.JGI.Gmv4) head(cds_annotations) ``` # Promoter regions Promoter regions can be generated using 2 kb upstream and 200 bp downstream of transcription start sites: ```{r promoters} promoter_annotations <- promoters( TxDb.Gmax.JGI.Gmv4, upstream = 2000, downstream = 200 ) head(promoter_annotations) ``` # Transcripts grouped by gene Transcripts can be grouped by gene using `transcriptsBy()`: ```{r transcripts-by-gene} tx_by_gene <- GenomicFeatures::transcriptsBy( TxDb.Gmax.JGI.Gmv4, by = "gene" ) tx_by_gene ``` # Exons grouped by transcript Exons can be grouped by transcript using `exonsBy()`: ```{r exons-by-transcript} exons_by_transcript <- GenomicFeatures::exonsBy( TxDb.Gmax.JGI.Gmv4, by = "tx" ) exons_by_transcript ``` # Session information ```{r sessioninfo} sessionInfo() ```