Transcript Annotation Database for Glycine max

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:

if (!requireNamespace("BiocManager", quietly = TRUE)) {
    install.packages("BiocManager")
}

BiocManager::install(c(
    "TxDb.Gmax.JGI.Gmv4",
    "AnnotationHub",
    "GenomicFeatures",
    "GenomicRanges"
))

Loading the package

library(TxDb.Gmax.JGI.Gmv4)
library(AnnotationHub)
library(GenomicFeatures)
library(GenomicRanges)

Retrieve the TxDb object from AnnotationHub

The TxDb object is available through AnnotationHub:

ah <- AnnotationHub::AnnotationHub()
TxDb.Gmax.JGI.Gmv4 <- ah[["AH122288"]]

Check the class of the retrieved object:

class(TxDb.Gmax.JGI.Gmv4)
## [1] "TxDb"
## attr(,"package")
## [1] "GenomicFeatures"

Package summary

Display the transcript database:

TxDb.Gmax.JGI.Gmv4
## TxDb object:
## # Db type: TxDb
## # Supporting package: GenomicFeatures
## # Data source: Joint Genome Institute (Phytozome)
## # Organism: Glycine max
## # Taxonomy ID: 3847
## # Genome: NA
## # Nb of transcripts: 86256
## # Db created by: txdbmaker package from Bioconductor
## # Creation time: 2026-08-08 12:23:25 +0500 (Sat, 08 Aug 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.Gmax.JGI.Gmv4)
## Length  Class   Mode 
##      1   TxDb     S4

Chromosome information

The chromosome and sequence information can be examined with seqinfo():

seqinfo(TxDb.Gmax.JGI.Gmv4)
## Seqinfo object with 282 sequences from an unspecified genome:
##   seqnames           seqnames seqlengths isCircular genome
##   1                      Gm01   57932355      FALSE   <NA>
##   2                      Gm02   50400358      FALSE   <NA>
##   3                      Gm03   46951866      FALSE   <NA>
##   4                      Gm04   51203389      FALSE   <NA>
##   5                      Gm05   42274530      FALSE   <NA>
##   ...                     ...        ...        ...    ...
##   278      Gm16_scaffold_1357       2431      FALSE   <NA>
##   279      Gm10_scaffold_1369       1922      FALSE   <NA>
##   280      Gm19_scaffold_1377       1571      FALSE   <NA>
##   281      Gm13_scaffold_1386       1350      FALSE   <NA>
##   282      Gm06_scaffold_1454        885      FALSE   <NA>

Available chromosomes

The available sequence levels can be obtained with:

seqlevels(TxDb.Gmax.JGI.Gmv4)
##   [1] "Gm01"               "Gm02"               "Gm03"              
##   [4] "Gm04"               "Gm05"               "Gm06"              
##   [7] "Gm07"               "Gm08"               "Gm09"              
##  [10] "Gm10"               "Gm11"               "Gm12"              
##  [13] "Gm13"               "Gm14"               "Gm15"              
##  [16] "Gm16"               "Gm17"               "Gm18"              
##  [19] "Gm19"               "Gm20"               "Gm13_scaffold_21"  
##  [22] "scaffold_22"        "scaffold_24"        "scaffold_25"       
##  [25] "scaffold_26"        "Gm03_scaffold_27"   "scaffold_28"       
##  [28] "scaffold_29"        "scaffold_30"        "scaffold_31"       
##  [31] "scaffold_32"        "scaffold_33"        "scaffold_34"       
##  [34] "scaffold_35"        "scaffold_36"        "scaffold_37"       
##  [37] "scaffold_39"        "Gm13_scaffold_40"   "scaffold_42"       
##  [40] "scaffold_43"        "scaffold_44"        "scaffold_46"       
##  [43] "scaffold_47"        "scaffold_49"        "scaffold_50"       
##  [46] "scaffold_51"        "scaffold_52"        "Gm18_scaffold_54"  
##  [49] "scaffold_55"        "scaffold_56"        "scaffold_57"       
##  [52] "scaffold_58"        "Gm06_scaffold_59"   "scaffold_60"       
##  [55] "scaffold_61"        "scaffold_62"        "scaffold_64"       
##  [58] "scaffold_65"        "Gm07_scaffold_69"   "Gm06_scaffold_70"  
##  [61] "scaffold_71"        "scaffold_73"        "scaffold_74"       
##  [64] "scaffold_76"        "scaffold_78"        "Gm05_scaffold_79"  
##  [67] "scaffold_80"        "scaffold_82"        "scaffold_83"       
##  [70] "Gm14_scaffold_84"   "scaffold_85"        "scaffold_86"       
##  [73] "scaffold_88"        "scaffold_89"        "scaffold_92"       
##  [76] "scaffold_93"        "Gm19_scaffold_94"   "scaffold_95"       
##  [79] "scaffold_96"        "Gm06_scaffold_98"   "scaffold_99"       
##  [82] "scaffold_101"       "scaffold_102"       "scaffold_103"      
##  [85] "scaffold_104"       "scaffold_105"       "scaffold_106"      
##  [88] "Gm10_scaffold_107"  "scaffold_108"       "scaffold_109"      
##  [91] "scaffold_110"       "scaffold_111"       "Gm15_scaffold_113" 
##  [94] "Gm10_scaffold_115"  "Gm11_scaffold_116"  "scaffold_117"      
##  [97] "scaffold_118"       "Gm10_scaffold_119"  "scaffold_120"      
## [100] "scaffold_121"       "Gm02_scaffold_122"  "scaffold_123"      
## [103] "scaffold_124"       "scaffold_125"       "scaffold_126"      
## [106] "scaffold_127"       "scaffold_128"       "scaffold_129"      
## [109] "scaffold_130"       "scaffold_131"       "scaffold_132"      
## [112] "scaffold_134"       "Gm03_scaffold_135"  "scaffold_137"      
## [115] "scaffold_138"       "scaffold_140"       "scaffold_141"      
## [118] "Gm20_scaffold_142"  "scaffold_143"       "scaffold_145"      
## [121] "scaffold_146"       "scaffold_147"       "scaffold_149"      
## [124] "scaffold_151"       "scaffold_152"       "scaffold_155"      
## [127] "scaffold_157"       "scaffold_158"       "scaffold_160"      
## [130] "scaffold_162"       "scaffold_163"       "scaffold_164"      
## [133] "Gm09_scaffold_165"  "Gm01_scaffold_166"  "scaffold_168"      
## [136] "scaffold_174"       "scaffold_175"       "scaffold_178"      
## [139] "scaffold_180"       "Gm06_scaffold_183"  "scaffold_184"      
## [142] "scaffold_187"       "Gm05_scaffold_188"  "scaffold_189"      
## [145] "scaffold_191"       "scaffold_193"       "scaffold_194"      
## [148] "scaffold_195"       "scaffold_196"       "scaffold_198"      
## [151] "scaffold_199"       "scaffold_201"       "scaffold_207"      
## [154] "scaffold_209"       "scaffold_210"       "scaffold_211"      
## [157] "Gm06_scaffold_214"  "scaffold_216"       "scaffold_217"      
## [160] "scaffold_223"       "scaffold_224"       "scaffold_226"      
## [163] "scaffold_229"       "Gm11_scaffold_232"  "scaffold_233"      
## [166] "scaffold_234"       "Gm03_scaffold_238"  "scaffold_239"      
## [169] "scaffold_240"       "scaffold_241"       "Gm03_scaffold_245" 
## [172] "scaffold_246"       "Gm19_scaffold_249"  "scaffold_250"      
## [175] "scaffold_252"       "scaffold_253"       "Gm16_scaffold_260" 
## [178] "scaffold_261"       "scaffold_264"       "scaffold_269"      
## [181] "scaffold_270"       "scaffold_271"       "scaffold_273"      
## [184] "scaffold_277"       "scaffold_282"       "scaffold_288"      
## [187] "scaffold_294"       "scaffold_298"       "Gm06_scaffold_301" 
## [190] "scaffold_303"       "scaffold_307"       "scaffold_313"      
## [193] "Gm12_scaffold_314"  "scaffold_315"       "scaffold_319"      
## [196] "scaffold_324"       "scaffold_327"       "scaffold_328"      
## [199] "scaffold_330"       "scaffold_331"       "scaffold_332"      
## [202] "scaffold_336"       "scaffold_337"       "Gm15_scaffold_339" 
## [205] "scaffold_340"       "scaffold_344"       "scaffold_352"      
## [208] "Gm14_scaffold_354"  "scaffold_355"       "scaffold_367"      
## [211] "scaffold_368"       "scaffold_371"       "scaffold_375"      
## [214] "scaffold_377"       "scaffold_383"       "scaffold_387"      
## [217] "scaffold_393"       "scaffold_398"       "scaffold_401"      
## [220] "scaffold_405"       "scaffold_408"       "scaffold_411"      
## [223] "scaffold_415"       "scaffold_422"       "scaffold_423"      
## [226] "scaffold_426"       "scaffold_431"       "scaffold_436"      
## [229] "scaffold_438"       "scaffold_439"       "scaffold_442"      
## [232] "scaffold_449"       "scaffold_452"       "scaffold_456"      
## [235] "scaffold_459"       "scaffold_461"       "scaffold_467"      
## [238] "scaffold_475"       "scaffold_478"       "scaffold_483"      
## [241] "scaffold_484"       "scaffold_486"       "scaffold_489"      
## [244] "scaffold_492"       "scaffold_496"       "scaffold_498"      
## [247] "scaffold_499"       "scaffold_501"       "scaffold_502"      
## [250] "scaffold_506"       "scaffold_508"       "scaffold_511"      
## [253] "scaffold_518"       "scaffold_519"       "Gm03_scaffold_521" 
## [256] "scaffold_522"       "scaffold_524"       "scaffold_529"      
## [259] "scaffold_535"       "scaffold_540"       "scaffold_542"      
## [262] "scaffold_544"       "scaffold_551"       "scaffold_556"      
## [265] "scaffold_560"       "Gm18_scaffold_561"  "scaffold_568"      
## [268] "scaffold_570"       "scaffold_576"       "scaffold_578"      
## [271] "scaffold_579"       "Gm16_scaffold_661"  "Gm14_scaffold_738" 
## [274] "Gm19_scaffold_765"  "Gm03_scaffold_926"  "Gm08_scaffold_952" 
## [277] "Gm10_scaffold_1052" "Gm16_scaffold_1357" "Gm10_scaffold_1369"
## [280] "Gm19_scaffold_1377" "Gm13_scaffold_1386" "Gm06_scaffold_1454"

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():

gene_annotations <- genes(TxDb.Gmax.JGI.Gmv4)
gene_annotations
## GRanges object with 52872 ranges and 1 metadata column:
##                       seqnames      ranges strand |         gene_id
##                          <Rle>   <IRanges>  <Rle> |     <character>
##   Glyma.01G000100         Gm01 27344-28430      - | Glyma.01G000100
##   Glyma.01G000137         Gm01 52485-52601      - | Glyma.01G000137
##   Glyma.01G000174         Gm01 54356-55224      - | Glyma.01G000174
##   Glyma.01G000211         Gm01 56132-64061      - | Glyma.01G000211
##   Glyma.01G000248         Gm01 59057-60641      - | Glyma.01G000248
##               ...          ...         ...    ... .             ...
##     Glyma.U045402 scaffold_117 15414-16243      - |   Glyma.U045402
##     Glyma.U045502 scaffold_117 24320-25364      - |   Glyma.U045502
##     Glyma.U045602 scaffold_117 26126-26281      - |   Glyma.U045602
##     Glyma.U045702 scaffold_117 57476-58790      - |   Glyma.U045702
##     Glyma.U045802 scaffold_117 59809-61235      - |   Glyma.U045802
##   -------
##   seqinfo: 282 sequences from an unspecified genome

Transcript annotations

Transcript ranges can be retrieved with transcripts():

transcript_annotations <- transcripts(TxDb.Gmax.JGI.Gmv4)
head(transcript_annotations)
## GRanges object with 6 ranges and 2 metadata columns:
##       seqnames        ranges strand |     tx_id           tx_name
##          <Rle>     <IRanges>  <Rle> | <integer>       <character>
##   [1]     Gm01 120168-131881      + |         1 Glyma.01G000600.1
##   [2]     Gm01 120175-132004      + |         2 Glyma.01G000600.2
##   [3]     Gm01 147523-197485      + |         3 Glyma.01G000900.2
##   [4]     Gm01 200309-205971      + |         4 Glyma.01G001000.2
##   [5]     Gm01 209523-217546      + |         5 Glyma.01G001100.5
##   [6]     Gm01 209548-217799      + |         6 Glyma.01G001100.3
##   -------
##   seqinfo: 282 sequences from an unspecified genome

Exon annotations

Exon ranges can be retrieved with exons():

exon_annotations <- exons(TxDb.Gmax.JGI.Gmv4)
head(exon_annotations)
## GRanges object with 6 ranges and 1 metadata column:
##       seqnames        ranges strand |   exon_id
##          <Rle>     <IRanges>  <Rle> | <integer>
##   [1]     Gm01 120400-122559      + |         1
##   [2]     Gm01 120400-122559      + |         2
##   [3]     Gm01 129664-129914      + |         3
##   [4]     Gm01 131469-131499      + |         4
##   [5]     Gm01 131469-131639      + |         5
##   [6]     Gm01 147544-147624      + |         6
##   -------
##   seqinfo: 282 sequences from an unspecified genome

Coding sequence (CDS) annotations

Coding sequence ranges can be retrieved with cds():

cds_annotations <- cds(TxDb.Gmax.JGI.Gmv4)
head(cds_annotations)
## GRanges object with 6 ranges and 1 metadata column:
##       seqnames        ranges strand |    cds_id
##          <Rle>     <IRanges>  <Rle> | <integer>
##   [1]     Gm01 120400-122559      + |         1
##   [2]     Gm01 120400-122559      + |         2
##   [3]     Gm01 129664-129914      + |         3
##   [4]     Gm01 131469-131499      + |         4
##   [5]     Gm01 131469-131639      + |         5
##   [6]     Gm01 147544-147624      + |         6
##   -------
##   seqinfo: 282 sequences from an unspecified genome

Promoter regions

Promoter regions can be generated using 2 kb upstream and 200 bp downstream of transcription start sites:

promoter_annotations <- promoters(
    TxDb.Gmax.JGI.Gmv4,
    upstream = 2000,
    downstream = 200
)
## Warning in valid.GenomicRanges.seqinfo(x, suggest.trim = TRUE): GRanges object contains 34 out-of-bound ranges located on sequences Gm06,
##   Gm08, Gm13, Gm13_scaffold_21, Gm07_scaffold_69, Gm05_scaffold_79,
##   Gm14_scaffold_84, scaffold_120, scaffold_138, scaffold_164,
##   Gm09_scaffold_165, scaffold_229, scaffold_273, scaffold_288, scaffold_328,
##   Gm15_scaffold_339, scaffold_375, scaffold_551, Gm18_scaffold_561,
##   Gm14_scaffold_738, and Gm10_scaffold_1052. 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.
head(promoter_annotations)
## GRanges object with 6 ranges and 2 metadata columns:
##                     seqnames        ranges strand |     tx_id           tx_name
##                        <Rle>     <IRanges>  <Rle> | <integer>       <character>
##   Glyma.01G000600.1     Gm01 118168-120367      + |         1 Glyma.01G000600.1
##   Glyma.01G000600.2     Gm01 118175-120374      + |         2 Glyma.01G000600.2
##   Glyma.01G000900.2     Gm01 145523-147722      + |         3 Glyma.01G000900.2
##   Glyma.01G001000.2     Gm01 198309-200508      + |         4 Glyma.01G001000.2
##   Glyma.01G001100.5     Gm01 207523-209722      + |         5 Glyma.01G001100.5
##   Glyma.01G001100.3     Gm01 207548-209747      + |         6 Glyma.01G001100.3
##   -------
##   seqinfo: 282 sequences from an unspecified genome

Transcripts grouped by gene

Transcripts can be grouped by gene using transcriptsBy():

tx_by_gene <- GenomicFeatures::transcriptsBy(
    TxDb.Gmax.JGI.Gmv4,
    by = "gene"
)
tx_by_gene
## GRangesList object of length 52872:
## $Glyma.01G000100
## GRanges object with 1 range and 2 metadata columns:
##       seqnames      ranges strand |     tx_id           tx_name
##          <Rle>   <IRanges>  <Rle> | <integer>       <character>
##   [1]     Gm01 27344-28430      - |      1759 Glyma.01G000100.1
##   -------
##   seqinfo: 282 sequences from an unspecified genome
## 
## $Glyma.01G000137
## GRanges object with 1 range and 2 metadata columns:
##       seqnames      ranges strand |     tx_id           tx_name
##          <Rle>   <IRanges>  <Rle> | <integer>       <character>
##   [1]     Gm01 52485-52601      - |      1760 Glyma.01G000137.1
##   -------
##   seqinfo: 282 sequences from an unspecified genome
## 
## $Glyma.01G000174
## GRanges object with 1 range and 2 metadata columns:
##       seqnames      ranges strand |     tx_id           tx_name
##          <Rle>   <IRanges>  <Rle> | <integer>       <character>
##   [1]     Gm01 54356-55224      - |      1761 Glyma.01G000174.1
##   -------
##   seqinfo: 282 sequences from an unspecified genome
## 
## ...
## <52869 more elements>

Exons grouped by transcript

Exons can be grouped by transcript using exonsBy():

exons_by_transcript <- GenomicFeatures::exonsBy(
    TxDb.Gmax.JGI.Gmv4,
    by = "tx"
)
exons_by_transcript
## GRangesList object of length 86256:
## $`1`
## GRanges object with 3 ranges and 3 metadata columns:
##       seqnames        ranges strand |   exon_id              exon_name
##          <Rle>     <IRanges>  <Rle> | <integer>            <character>
##   [1]     Gm01 120400-122559      + |         1 Glyma.01G000600.1.Wm..
##   [2]     Gm01 129664-129914      + |         3 Glyma.01G000600.1.Wm..
##   [3]     Gm01 131469-131499      + |         4 Glyma.01G000600.1.Wm..
##       exon_rank
##       <integer>
##   [1]         1
##   [2]         2
##   [3]         3
##   -------
##   seqinfo: 282 sequences from an unspecified genome
## 
## $`2`
## GRanges object with 2 ranges and 3 metadata columns:
##       seqnames        ranges strand |   exon_id              exon_name
##          <Rle>     <IRanges>  <Rle> | <integer>            <character>
##   [1]     Gm01 120400-122559      + |         2 Glyma.01G000600.2.Wm..
##   [2]     Gm01 131469-131639      + |         5 Glyma.01G000600.2.Wm..
##       exon_rank
##       <integer>
##   [1]         1
##   [2]         2
##   -------
##   seqinfo: 282 sequences from an unspecified genome
## 
## ...
## <86254 more elements>

Session information

sessionInfo()
## R version 4.6.1 (2026-06-24)
## Platform: x86_64-pc-linux-gnu
## Running under: Ubuntu 26.04.1 LTS
## 
## Matrix products: default
## BLAS:   /usr/lib/x86_64-linux-gnu/openblas-pthread/libblas.so.3 
## LAPACK: /usr/lib/x86_64-linux-gnu/openblas-pthread/libopenblasp-r0.3.32.so;  LAPACK version 3.12.0
## 
## locale:
##  [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C              
##  [3] LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
##  [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: Etc/UTC
## 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     
##  [3] Biobase_2.73.2            GenomicRanges_1.65.4     
##  [5] Seqinfo_1.3.2             IRanges_2.47.5           
##  [7] S4Vectors_0.51.10         AnnotationHub_4.3.2      
##  [9] BiocFileCache_3.3.0       dbplyr_2.6.0             
## [11] BiocGenerics_0.59.12      generics_0.1.4           
## [13] TxDb.Gmax.JGI.Gmv4_0.99.1 BiocStyle_2.41.0         
## 
## loaded via a namespace (and not attached):
##  [1] KEGGREST_1.53.6          rjson_0.2.23             xfun_0.61               
##  [4] bslib_0.12.0             httr2_1.3.0              lattice_0.23-1          
##  [7] bitops_1.1-0             vctrs_0.7.3              tools_4.6.1             
## [10] parallel_4.6.1           curl_8.0.0               tibble_3.3.1            
## [13] RSQLite_3.53.3           blob_1.3.0               pkgconfig_2.0.3         
## [16] BiocBaseUtils_1.15.1     Matrix_1.7-6             cigarillo_1.3.1         
## [19] lifecycle_1.0.5          compiler_4.6.1           Rsamtools_2.29.0        
## [22] Biostrings_2.81.9        codetools_0.2-20         htmltools_0.5.9         
## [25] sys_3.4.3                buildtools_1.0.0         sass_0.4.10             
## [28] RCurl_1.98-1.20          yaml_2.3.12              pillar_1.11.1           
## [31] crayon_1.5.3             jquerylib_0.1.4          BiocParallel_1.47.0     
## [34] cachem_1.1.0             tidyselect_1.2.1         digest_0.6.39           
## [37] purrr_1.2.2              dplyr_1.2.1              restfulr_0.0.17         
## [40] BiocVersion_3.24.0       maketools_1.3.2          grid_4.6.1              
## [43] fastmap_1.2.0            cli_3.6.6                magrittr_2.0.5          
## [46] XML_3.99-0.25            withr_3.0.3              filelock_1.0.3          
## [49] rappdirs_0.3.4           bit64_4.8.6              rmarkdown_2.32          
## [52] XVector_0.53.0           httr_1.4.9               bit_4.6.0               
## [55] otel_0.2.0               png_0.1-9                memoise_2.0.1           
## [58] evaluate_1.0.5           knitr_1.52               BiocIO_1.23.3           
## [61] rtracklayer_1.73.0       rlang_1.3.0              glue_1.8.1              
## [64] DBI_1.3.0                BiocManager_1.30.27      jsonlite_2.0.0          
## [67] R6_2.6.1                 GenomicAlignments_1.49.2