Contents

1 Introduction

TxDb.Osativa.MSU.RGAP7 is a Bioconductor-compatible transcript annotation package for Oryza sativa generated from the official Rice Genome Annotation Project (RGAP) Release 7 GFF3 annotation based on the IRGSP-1.0 reference genome (also known as MSU7).

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.

2 Installation

Install the package and its dependencies from Bioconductor with:

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

BiocManager::install(c(
    "TxDb.Osativa.MSU.RGAP7",
    "AnnotationHub",
    "GenomicFeatures",
    "GenomicRanges"
))

3 Loading packages

library(TxDb.Osativa.MSU.RGAP7)
library(AnnotationHub)
library(GenomicFeatures)
library(GenomicRanges)

4 Retrieve the TxDb object from AnnotationHub

The TxDb object is available through AnnotationHub:

ah <- AnnotationHub::AnnotationHub()
TxDb.Osativa.MSU.RGAP7 <- ah[["AH122276"]]

Check the class of the retrieved object:

class(TxDb.Osativa.MSU.RGAP7)
## [1] "TxDb"
## attr(,"package")
## [1] "GenomicFeatures"

5 TxDb file summary

Display the transcript database:

TxDb.Osativa.MSU.RGAP7
## TxDb object:
## # Db type: TxDb
## # Supporting package: GenomicFeatures
## # Data source: Rice Genome Annotation Project
## # Organism: Oryza sativa
## # Taxonomy ID: 4530
## # Genome: NA
## # Nb of transcripts: 66250
## # Db created by: txdbmaker package from Bioconductor
## # Creation time: 2026-08-04 08:02:55 +0500 (Tue, 04 Aug 2026)
## # txdbmaker version at creation time: 1.6.2
## # RSQLite version at creation time: 3.52.0
## # DBSCHEMAVERSION: 1.2

A summary can also be obtained with:

summary(TxDb.Osativa.MSU.RGAP7)
## Length  Class   Mode 
##      1   TxDb     S4

6 Chromosome information

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

seqinfo(TxDb.Osativa.MSU.RGAP7)
## Seqinfo object with 14 sequences from an unspecified genome:
##   seqnames seqnames seqlengths isCircular genome
##   1            Chr1   43270923      FALSE   <NA>
##   2            Chr2   35937250      FALSE   <NA>
##   3            Chr3   36413819      FALSE   <NA>
##   4            Chr4   35502694      FALSE   <NA>
##   5            Chr5   29958434      FALSE   <NA>
##   ...           ...        ...        ...    ...
##   10          Chr10   23207287      FALSE   <NA>
##   11          Chr11   29021106      FALSE   <NA>
##   12          Chr12   27531856      FALSE   <NA>
##   13          ChrUn     633585      FALSE   <NA>
##   14          ChrSy     592136      FALSE   <NA>

7 Available chromosomes

The available sequence levels can be obtained with:

seqlevels(TxDb.Osativa.MSU.RGAP7)
##  [1] "Chr1"  "Chr2"  "Chr3"  "Chr4"  "Chr5"  "Chr6"  "Chr7"  "Chr8"  "Chr9" 
## [10] "Chr10" "Chr11" "Chr12" "ChrUn" "ChrSy"

The 12 nuclear chromosomes of the IRGSP-1.0 / MSU7 assembly contain the vast majority of annotated genes.

ChrUn represents unanchored contigs, that is, sequences that could not be placed on a chromosome.

ChrSy represents the Syngenta pseudomolecule, a separate assembly containing additional sequence not present in the main IRGSP-1.0 build.

8 Gene annotations

Retrieve all annotated genes:

gene_annotations <- genes(TxDb.Osativa.MSU.RGAP7)
gene_annotations
## GRanges object with 55952 ranges and 1 metadata column:
##                         seqnames            ranges strand |
##                            <Rle>         <IRanges>  <Rle> |
##    ChrSy.fgenesh.gene.1    ChrSy          785-1168      - |
##   ChrSy.fgenesh.gene.10    ChrSy       48848-51012      - |
##   ChrSy.fgenesh.gene.11    ChrSy       53593-53841      - |
##   ChrSy.fgenesh.gene.12    ChrSy       58993-64286      + |
##   ChrSy.fgenesh.gene.13    ChrSy       64974-68668      - |
##                     ...      ...               ...    ... .
##          LOC_Os12g44350    Chr12 27491864-27493254      + |
##          LOC_Os12g44360    Chr12 27494401-27508851      - |
##          LOC_Os12g44370    Chr12 27512303-27513821      + |
##          LOC_Os12g44380    Chr12 27513939-27518251      - |
##          LOC_Os12g44390    Chr12 27524980-27529682      - |
##                                       gene_id
##                                   <character>
##    ChrSy.fgenesh.gene.1  ChrSy.fgenesh.gene.1
##   ChrSy.fgenesh.gene.10 ChrSy.fgenesh.gene.10
##   ChrSy.fgenesh.gene.11 ChrSy.fgenesh.gene.11
##   ChrSy.fgenesh.gene.12 ChrSy.fgenesh.gene.12
##   ChrSy.fgenesh.gene.13 ChrSy.fgenesh.gene.13
##                     ...                   ...
##          LOC_Os12g44350        LOC_Os12g44350
##          LOC_Os12g44360        LOC_Os12g44360
##          LOC_Os12g44370        LOC_Os12g44370
##          LOC_Os12g44380        LOC_Os12g44380
##          LOC_Os12g44390        LOC_Os12g44390
##   -------
##   seqinfo: 14 sequences from an unspecified genome

9 Transcript annotations

Retrieve transcript annotations:

transcript_annotations <- transcripts(TxDb.Osativa.MSU.RGAP7)
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]     Chr1  2903-10817      + |         1 LOC_Os01g01010.1
##   [2]     Chr1  2984-10562      + |         2 LOC_Os01g01010.2
##   [3]     Chr1 11218-12435      + |         3 LOC_Os01g01019.1
##   [4]     Chr1 12648-15915      + |         4 LOC_Os01g01030.1
##   [5]     Chr1 16292-18304      + |         5 LOC_Os01g01040.4
##   [6]     Chr1 16292-20323      + |         6 LOC_Os01g01040.1
##   -------
##   seqinfo: 14 sequences from an unspecified genome

10 Exon annotations

Retrieve exon annotations:

exon_annotations <- exons(TxDb.Osativa.MSU.RGAP7)
head(exon_annotations)
## GRanges object with 6 ranges and 1 metadata column:
##       seqnames    ranges strand |   exon_id
##          <Rle> <IRanges>  <Rle> | <integer>
##   [1]     Chr1 2903-3268      + |         1
##   [2]     Chr1 2984-3255      + |         2
##   [3]     Chr1 3354-3616      + |         3
##   [4]     Chr1 3354-3616      + |         4
##   [5]     Chr1 4357-4455      + |         5
##   [6]     Chr1 4357-4455      + |         6
##   -------
##   seqinfo: 14 sequences from an unspecified genome

11 Coding sequence (CDS) annotations

Retrieve coding sequence annotations:

cds_annotations <- cds(TxDb.Osativa.MSU.RGAP7)
head(cds_annotations)
## GRanges object with 6 ranges and 1 metadata column:
##       seqnames    ranges strand |    cds_id
##          <Rle> <IRanges>  <Rle> | <integer>
##   [1]     Chr1 3449-3616      + |         1
##   [2]     Chr1 3449-3616      + |         2
##   [3]     Chr1 4357-4455      + |         3
##   [4]     Chr1 4357-4455      + |         4
##   [5]     Chr1 5457-5560      + |         5
##   [6]     Chr1 5457-5560      + |         6
##   -------
##   seqinfo: 14 sequences from an unspecified genome

12 Promoter regions

Extract promoter regions 2 kb upstream and 200 bp downstream of transcription start sites:

promoter_annotations <- promoters(
    TxDb.Osativa.MSU.RGAP7,
    upstream = 2000,
    downstream = 200
)
## Warning in valid.GenomicRanges.seqinfo(x, suggest.trim = TRUE): GRanges object contains 4 out-of-bound ranges located on sequences Chr5,
##   Chr9, and Chr10. 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>
##   LOC_Os01g01010.1     Chr1    903-3102      + |         1 LOC_Os01g01010.1
##   LOC_Os01g01010.2     Chr1    984-3183      + |         2 LOC_Os01g01010.2
##   LOC_Os01g01019.1     Chr1  9218-11417      + |         3 LOC_Os01g01019.1
##   LOC_Os01g01030.1     Chr1 10648-12847      + |         4 LOC_Os01g01030.1
##   LOC_Os01g01040.4     Chr1 14292-16491      + |         5 LOC_Os01g01040.4
##   LOC_Os01g01040.1     Chr1 14292-16491      + |         6 LOC_Os01g01040.1
##   -------
##   seqinfo: 14 sequences from an unspecified genome

13 Transcripts grouped by gene

Transcripts can be grouped by gene using transcriptsBy():

tx_by_gene <- GenomicFeatures::transcriptsBy(
    TxDb.Osativa.MSU.RGAP7,
    by = "gene"
)
tx_by_gene
## GRangesList object of length 55952:
## $ChrSy.fgenesh.gene.1
## GRanges object with 1 range and 2 metadata columns:
##       seqnames    ranges strand |     tx_id              tx_name
##          <Rle> <IRanges>  <Rle> | <integer>          <character>
##   [1]    ChrSy  785-1168      - |     66208 ChrSy.fgenesh.mRNA.1
##   -------
##   seqinfo: 14 sequences from an unspecified genome
## 
## $ChrSy.fgenesh.gene.10
## GRanges object with 1 range and 2 metadata columns:
##       seqnames      ranges strand |     tx_id               tx_name
##          <Rle>   <IRanges>  <Rle> | <integer>           <character>
##   [1]    ChrSy 48848-51012      - |     66211 ChrSy.fgenesh.mRNA.10
##   -------
##   seqinfo: 14 sequences from an unspecified genome
## 
## $ChrSy.fgenesh.gene.11
## GRanges object with 1 range and 2 metadata columns:
##       seqnames      ranges strand |     tx_id               tx_name
##          <Rle>   <IRanges>  <Rle> | <integer>           <character>
##   [1]    ChrSy 53593-53841      - |     66212 ChrSy.fgenesh.mRNA.11
##   -------
##   seqinfo: 14 sequences from an unspecified genome
## 
## ...
## <55949 more elements>

14 Exons grouped by transcript

Exons can be grouped by transcript using exonsBy():

exons_by_transcript <- GenomicFeatures::exonsBy(
    TxDb.Osativa.MSU.RGAP7,
    by = "tx"
)
exons_by_transcript
## GRangesList object of length 66250:
## $`1`
## GRanges object with 12 ranges and 3 metadata columns:
##        seqnames      ranges strand |   exon_id              exon_name exon_rank
##           <Rle>   <IRanges>  <Rle> | <integer>            <character> <integer>
##    [1]     Chr1   2903-3268      + |         1 LOC_Os01g01010.1:exo..         1
##    [2]     Chr1   3354-3616      + |         3 LOC_Os01g01010.1:exo..         2
##    [3]     Chr1   4357-4455      + |         5 LOC_Os01g01010.1:exo..         3
##    [4]     Chr1   5457-5560      + |         7 LOC_Os01g01010.1:exo..         4
##    [5]     Chr1   7136-7944      + |         9 LOC_Os01g01010.1:exo..         5
##    ...      ...         ...    ... .       ...                    ...       ...
##    [8]     Chr1   8408-8608      + |        15 LOC_Os01g01010.1:exo..         8
##    [9]     Chr1   9210-9617      + |        18 LOC_Os01g01010.1:exo..         9
##   [10]     Chr1 10104-10187      + |        19 LOC_Os01g01010.1:exo..        10
##   [11]     Chr1 10274-10430      + |        22 LOC_Os01g01010.1:exo..        11
##   [12]     Chr1 10504-10817      + |        24 LOC_Os01g01010.1:exo..        12
##   -------
##   seqinfo: 14 sequences from an unspecified genome
## 
## ...
## <66249 more elements>

15 Converting MSU identifiers to RAP-DB identifiers

Gene models in this database are keyed by MSU locus identifiers (LOC_Os##g#####). Many rice resources instead use RAP-DB identifiers (Os##g#######). The msu_to_rap() function translates between the two, preserving input order and dropping identifiers that cannot be converted.

if (requireNamespace("riceidconverter", quietly = TRUE)) {
    library(riceidconverter)

    msu_ids <- c(
        "LOC_Os01g01010",
        "LOC_Os01g01019",
        "LOC_Os01g01040"
    )

    rap_ids <- msu_to_rap(msu_ids)
    print(rap_ids)
}
## [1] "Os01g0100100" "Os01g0100200" "Os01g0100500"

16 Session information

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] riceidconverter_1.1.1         GenomicFeatures_1.65.0       
##  [3] AnnotationDbi_1.75.2          Biobase_2.73.2               
##  [5] GenomicRanges_1.65.4          Seqinfo_1.3.2                
##  [7] IRanges_2.47.5                S4Vectors_0.51.10            
##  [9] AnnotationHub_4.3.2           BiocFileCache_3.3.0          
## [11] dbplyr_2.6.0                  BiocGenerics_0.59.12         
## [13] generics_0.1.4                TxDb.Osativa.MSU.RGAP7_0.99.9
## [15] 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              vctrs_0.7.3             
##  [7] tools_4.6.1              bitops_1.1-0             parallel_4.6.1          
## [10] curl_8.0.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.2.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