GENCODE AnnotationHub

Introduction

GENCODEHub provides stable AnnotationHub access to annotation resources derived from GENCODE human release 50 for GRCh38.p14 and Ensembl release 116. The collection is useful when an analysis needs the original GTF attributes in feature-specific GRanges objects or gene–transcript structure in a TxDb. It complements general Ensembl and UCSC annotation clients by distributing a fixed, documented GENCODE release with persistent AnnotationHub identifiers.

The collection contains a GRanges with every imported GTF row, separate GRanges objects for each GTF feature type, and a TxDb database. The files are hosted in Zenodo record 21784647 and are downloaded only when selected through AnnotationHub.

Installation

Install GENCODEHub from Bioconductor with the version of R associated with the current Bioconductor release.

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

Available resources

Resource AH ID Contents Class Download
annotation AH122277 every imported GTF row GRanges 34.8 MB
gene AH122278 gene features and attributes GRanges 1.3 MB
transcript AH122279 transcript data GRanges 8.5 MB
exon AH122280 exon features and attributes GRanges 22.4 MB
CDS AH122281 CDS features and phase GRanges 11.6 MB
UTR AH122282 untranslated-region features GRanges 10.2 MB
start_codon AH122283 start-codon features GRanges 4.2 MB
stop_codon AH122284 stop-codon features GRanges 4.7 MB
Selenocysteine AH122285 selenocysteine features GRanges 4 KB
TxDb AH122286 gene/transcript/exon/CDS relations TxDb 344.2 MB

The feature-specific GRanges resources retain the original type and all metadata columns imported from the GTF. The TxDb supports structural queries but does not retain every GTF attribute.

Discover resources

Create one AnnotationHub connection and reuse it throughout the session. Subsetting a hub lists metadata; double-bracket extraction downloads and loads one selected resource.

library(AnnotationHub)
#> Loading required package: BiocGenerics
#> Loading required package: generics
#> 
#> Attaching package: 'generics'
#> The following objects are masked from 'package:base':
#> 
#>     as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
#>     setequal, union
#> 
#> Attaching package: 'BiocGenerics'
#> The following objects are masked from 'package:stats':
#> 
#>     IQR, mad, sd, var, xtabs
#> The following object is masked from 'package:utils':
#> 
#>     data
#> The following objects are masked from 'package:base':
#> 
#>     anyDuplicated, aperm, append, as.data.frame, basename, cbind,
#>     colnames, dirname, do.call, duplicated, eval, evalq, Filter, Find,
#>     get, grep, grepl, is.unsorted, lapply, Map, mapply, match, mget,
#>     order, paste, pmax, pmax.int, pmin, pmin.int, Position, rank,
#>     rbind, Reduce, rownames, sapply, saveRDS, scale, sequence, table,
#>     tapply, transform, unique, unsplit, which.max, which.min
#> Loading required package: BiocFileCache
#> Loading required package: dbplyr
library(GENCODEHub)

hub <- AnnotationHub(ask = FALSE)
resources <- gencodeV50Resources(hub)
resources
#> AnnotationHub with 10 records
#> # snapshotDate(): 2026-09-18
#> # $dataprovider: GENCODE
#> # $species: Homo sapiens
#> # $rdataclass: GRanges, TxDb
#> # additional mcols(): taxonomyid, genome, description,
#> #   coordinate_1_based, maintainer, rdatadateadded, preparerclass, tags,
#> #   rdatapath, sourceurl, sourcetype 
#> # retrieve records with, e.g., 'object[["AH122277"]]' 
#> 
#>              title                                                
#>   AH122277 | GENCODE v50 annotation: all GTF features (GRCh38.p14)
#>   AH122278 | GENCODE v50 annotation: gene (GRCh38.p14)            
#>   AH122279 | GENCODE v50 annotation: transcript (GRCh38.p14)      
#>   AH122280 | GENCODE v50 annotation: exon (GRCh38.p14)            
#>   AH122281 | GENCODE v50 annotation: CDS (GRCh38.p14)             
#>   AH122282 | GENCODE v50 annotation: UTR (GRCh38.p14)             
#>   AH122283 | GENCODE v50 annotation: start_codon (GRCh38.p14)     
#>   AH122284 | GENCODE v50 annotation: stop_codon (GRCh38.p14)      
#>   AH122285 | GENCODE v50 annotation: Selenocysteine (GRCh38.p14)  
#>   AH122286 | GENCODE v50 annotation: TxDb (GRCh38.p14)

gencodeResources() queries all records associated with GENCODEHub, while gencodeV50Resources() returns the ten release 50 records in AH-ID order. Detailed production status and file sizes are available without downloading the resource files.

getInfoOnIds(hub, names(resources))
#>           ah_id fetch_id                                                 title
#> 346049 AH122277   129023 GENCODE v50 annotation: all GTF features (GRCh38.p14)
#> 346050 AH122278   129024             GENCODE v50 annotation: gene (GRCh38.p14)
#> 346051 AH122279   129025       GENCODE v50 annotation: transcript (GRCh38.p14)
#> 346052 AH122280   129026             GENCODE v50 annotation: exon (GRCh38.p14)
#> 346053 AH122281   129027              GENCODE v50 annotation: CDS (GRCh38.p14)
#> 346054 AH122282   129028              GENCODE v50 annotation: UTR (GRCh38.p14)
#> 346055 AH122283   129029      GENCODE v50 annotation: start_codon (GRCh38.p14)
#> 346056 AH122284   129030       GENCODE v50 annotation: stop_codon (GRCh38.p14)
#> 346057 AH122285   129031   GENCODE v50 annotation: Selenocysteine (GRCh38.p14)
#> 346058 AH122286   129032             GENCODE v50 annotation: TxDb (GRCh38.p14)
#>        rdataclass status biocversion rdatadateadded rdatadateremoved file_size
#> 346049    GRanges Public        3.24     2026-08-06             <NA>  34815684
#> 346050    GRanges Public        3.24     2026-08-06             <NA>   1292008
#> 346051    GRanges Public        3.24     2026-08-06             <NA>   8532344
#> 346052    GRanges Public        3.24     2026-08-06             <NA>  22437820
#> 346053    GRanges Public        3.24     2026-08-06             <NA>  11642732
#> 346054    GRanges Public        3.24     2026-08-06             <NA>  10171044
#> 346055    GRanges Public        3.24     2026-08-06             <NA>   4203232
#> 346056    GRanges Public        3.24     2026-08-06             <NA>   4653192
#> 346057    GRanges Public        3.24     2026-08-06             <NA>      4064
#> 346058       TxDb Public        3.24     2026-08-06             <NA> 344219648

Retrieve a selected resource

The standard AnnotationHub interface and the package helper are equivalent. The small selenocysteine resource is used here so that the vignette exercises the production download and dispatch path without a large transfer.

selenocysteine <- hub[["AH122285"]]
#> downloading 1 resources
#> retrieving 1 resource
#> loading from cache
#> require("GenomicRanges")
selenocysteine_from_helper <- gencodeV50("Selenocysteine", hub)
#> loading from cache
stopifnot(identical(selenocysteine, selenocysteine_from_helper))
selenocysteine
#> GRanges object with 155 ranges and 22 metadata columns:
#>         seqnames            ranges strand |   source           type     score
#>            <Rle>         <IRanges>  <Rle> | <factor>       <factor> <numeric>
#>     [1]     chr1 25802093-25802095      + |   HAVANA Selenocysteine        NA
#>     [2]     chr1 25812789-25812791      + |   HAVANA Selenocysteine        NA
#>     [3]     chr1 25812789-25812791      + |   HAVANA Selenocysteine        NA
#>     [4]     chr1 25812789-25812791      + |   HAVANA Selenocysteine        NA
#>     [5]     chr1 25812789-25812791      + |   HAVANA Selenocysteine        NA
#>     ...      ...               ...    ... .      ...            ...       ...
#>   [151]    chr22 31105951-31105953      - |   HAVANA Selenocysteine        NA
#>   [152]    chr22 31105951-31105953      - |   HAVANA Selenocysteine        NA
#>   [153]    chr22 31105951-31105953      - |   HAVANA Selenocysteine        NA
#>   [154]    chr22 50217358-50217360      + |   HAVANA Selenocysteine        NA
#>   [155]    chr22 50217358-50217360      + |   HAVANA Selenocysteine        NA
#>             phase            gene_id      gene_type   gene_name       level
#>         <integer>        <character>    <character> <character> <character>
#>     [1]      <NA> ENSG00000162430.19 protein_coding     SELENON           2
#>     [2]      <NA> ENSG00000162430.19 protein_coding     SELENON           2
#>     [3]      <NA> ENSG00000162430.19 protein_coding     SELENON           2
#>     [4]      <NA> ENSG00000162430.19 protein_coding     SELENON           2
#>     [5]      <NA> ENSG00000162430.19 protein_coding     SELENON           2
#>     ...       ...                ...            ...         ...         ...
#>   [151]      <NA> ENSG00000198832.12 protein_coding     SELENOM           2
#>   [152]      <NA> ENSG00000198832.12 protein_coding     SELENOM           2
#>   [153]      <NA> ENSG00000198832.12 protein_coding     SELENOM           2
#>   [154]      <NA> ENSG00000073169.16 protein_coding     SELENOO           2
#>   [155]      <NA> ENSG00000073169.16 protein_coding     SELENOO           2
#>                 tag     transcript_id transcript_type transcript_name
#>         <character>       <character>     <character>     <character>
#>     [1]      seleno ENST00000361547.8  protein_coding     SELENON-202
#>     [2]      seleno ENST00000361547.8  protein_coding     SELENON-202
#>     [3]      seleno ENST00001144438.1  protein_coding     SELENON-205
#>     [4]      seleno ENST00000374315.1  protein_coding     SELENON-203
#>     [5]      seleno ENST00000354177.9  protein_coding     SELENON-201
#>     ...         ...               ...             ...             ...
#>   [151]      seleno ENST00001134254.1  protein_coding     SELENOM-210
#>   [152]      seleno ENST00000402395.5  protein_coding     SELENOM-202
#>   [153]      seleno ENST00000400299.6  protein_coding     SELENOM-201
#>   [154]      seleno ENST00001133157.1  protein_coding     SELENOO-203
#>   [155]      seleno ENST00000380903.7  protein_coding     SELENOO-201
#>         exon_number     exon_id transcript_support_level    havana_transcript
#>         <character> <character>              <character>          <character>
#>     [1]        <NA>        <NA>                        1 OTTHUMT00000019314.3
#>     [2]        <NA>        <NA>                        1 OTTHUMT00000019314.3
#>     [3]        <NA>        <NA>                     <NA>                 <NA>
#>     [4]        <NA>        <NA>                        5 OTTHUMT00000019315.2
#>     [5]        <NA>        <NA>                        5                 <NA>
#>     ...         ...         ...                      ...                  ...
#>   [151]        <NA>        <NA>                     <NA>                 <NA>
#>   [152]        <NA>        <NA>                        1 OTTHUMT00000321789.1
#>   [153]        <NA>        <NA>                        1 OTTHUMT00000321788.1
#>   [154]        <NA>        <NA>                     <NA>                 <NA>
#>   [155]        <NA>        <NA>                        1 OTTHUMT00000075003.3
#>             hgnc_id          havana_gene         ont        protein_id
#>         <character>          <character> <character>       <character>
#>     [1]  HGNC:15999 OTTHUMG00000007375.5        <NA> ENSP00000355141.2
#>     [2]  HGNC:15999 OTTHUMG00000007375.5        <NA> ENSP00000355141.2
#>     [3]  HGNC:15999 OTTHUMG00000007375.5        <NA> ENSP00000810384.1
#>     [4]  HGNC:15999 OTTHUMG00000007375.5        <NA> ENSP00000363434.1
#>     [5]  HGNC:15999 OTTHUMG00000007375.5        <NA> ENSP00000346109.5
#>     ...         ...                  ...         ...               ...
#>   [151]  HGNC:30397 OTTHUMG00000151207.1        <NA> ENSP00000812162.1
#>   [152]  HGNC:30397 OTTHUMG00000151207.1        <NA> ENSP00000384564.1
#>   [153]  HGNC:30397 OTTHUMG00000151207.1        <NA> ENSP00000383155.2
#>   [154]  HGNC:30395 OTTHUMG00000044645.4        <NA> ENSP00000811180.1
#>   [155]  HGNC:30395 OTTHUMG00000044645.4        <NA> ENSP00000370288.2
#>              ccdsid  artif_dupl
#>         <character> <character>
#>     [1] CCDS41282.1        <NA>
#>     [2] CCDS41282.1        <NA>
#>     [3] CCDS41283.1        <NA>
#>     [4] CCDS41283.1        <NA>
#>     [5]        <NA>        <NA>
#>     ...         ...         ...
#>   [151] CCDS43003.1        <NA>
#>   [152] CCDS43003.1        <NA>
#>   [153] CCDS43003.1        <NA>
#>   [154] CCDS43034.1        <NA>
#>   [155] CCDS43034.1        <NA>
#>   -------
#>   seqinfo: 25 sequences from GRCh38 genome; no seqlengths

The gene resource is suitable for gene-body overlap and gene-level transcription start site annotation.

genes <- gencodeV50("gene", hub)
#> downloading 1 resources
#> retrieving 1 resource
#> loading from cache
genes
#> GRanges object with 78733 ranges and 22 metadata columns:
#>           seqnames      ranges strand |   source     type     score     phase
#>              <Rle>   <IRanges>  <Rle> | <factor> <factor> <numeric> <integer>
#>       [1]     chr1 11121-24894      + |  HAVANA      gene        NA      <NA>
#>       [2]     chr1 12010-13670      + |  HAVANA      gene        NA      <NA>
#>       [3]     chr1 14356-30744      - |  HAVANA      gene        NA      <NA>
#>       [4]     chr1 14696-24886      - |  HAVANA      gene        NA      <NA>
#>       [5]     chr1 17369-17436      - |  ENSEMBL     gene        NA      <NA>
#>       ...      ...         ...    ... .      ...      ...       ...       ...
#>   [78729]     chrM 14149-14673      - |  ENSEMBL     gene        NA      <NA>
#>   [78730]     chrM 14674-14742      - |  ENSEMBL     gene        NA      <NA>
#>   [78731]     chrM 14747-15887      + |  ENSEMBL     gene        NA      <NA>
#>   [78732]     chrM 15888-15953      + |  ENSEMBL     gene        NA      <NA>
#>   [78733]     chrM 15956-16023      - |  ENSEMBL     gene        NA      <NA>
#>                     gene_id              gene_type   gene_name       level
#>                 <character>            <character> <character> <character>
#>       [1] ENSG00000290825.2                 lncRNA    DDX11L16           2
#>       [2] ENSG00000223972.6 transcribed_unproces..     DDX11L1           2
#>       [3] ENSG00000310526.1                 lncRNA      WASH7P           2
#>       [4] ENSG00000227232.6 transcribed_unproces..      WASH7P           2
#>       [5] ENSG00000278267.1                  miRNA   MIR6859-1           3
#>       ...               ...                    ...         ...         ...
#>   [78729] ENSG00000198695.2         protein_coding      MT-ND6           3
#>   [78730] ENSG00000210194.1                Mt_tRNA       MT-TE           3
#>   [78731] ENSG00000198727.2         protein_coding      MT-CYB           3
#>   [78732] ENSG00000210195.2                Mt_tRNA       MT-TT           3
#>   [78733] ENSG00000210196.2                Mt_tRNA       MT-TP           3
#>                           tag transcript_id transcript_type transcript_name
#>                   <character>   <character>     <character>     <character>
#>       [1] overlaps_pseudogene          <NA>            <NA>            <NA>
#>       [2]                <NA>          <NA>            <NA>            <NA>
#>       [3] overlaps_pseudogene          <NA>            <NA>            <NA>
#>       [4]   overlapping_locus          <NA>            <NA>            <NA>
#>       [5]                <NA>          <NA>            <NA>            <NA>
#>       ...                 ...           ...             ...             ...
#>   [78729]                <NA>          <NA>            <NA>            <NA>
#>   [78730]                <NA>          <NA>            <NA>            <NA>
#>   [78731]                <NA>          <NA>            <NA>            <NA>
#>   [78732]                <NA>          <NA>            <NA>            <NA>
#>   [78733]                <NA>          <NA>            <NA>            <NA>
#>           exon_number     exon_id transcript_support_level havana_transcript
#>           <character> <character>              <character>       <character>
#>       [1]        <NA>        <NA>                     <NA>              <NA>
#>       [2]        <NA>        <NA>                     <NA>              <NA>
#>       [3]        <NA>        <NA>                     <NA>              <NA>
#>       [4]        <NA>        <NA>                     <NA>              <NA>
#>       [5]        <NA>        <NA>                     <NA>              <NA>
#>       ...         ...         ...                      ...               ...
#>   [78729]        <NA>        <NA>                     <NA>              <NA>
#>   [78730]        <NA>        <NA>                     <NA>              <NA>
#>   [78731]        <NA>        <NA>                     <NA>              <NA>
#>   [78732]        <NA>        <NA>                     <NA>              <NA>
#>   [78733]        <NA>        <NA>                     <NA>              <NA>
#>               hgnc_id          havana_gene         ont  protein_id      ccdsid
#>           <character>          <character> <character> <character> <character>
#>       [1]        <NA>                 <NA>        <NA>        <NA>        <NA>
#>       [2]  HGNC:37102 OTTHUMG00000000961.2        <NA>        <NA>        <NA>
#>       [3]  HGNC:38034                 <NA>        <NA>        <NA>        <NA>
#>       [4]  HGNC:38034 OTTHUMG00000000958.1        <NA>        <NA>        <NA>
#>       [5]  HGNC:50039                 <NA>        <NA>        <NA>        <NA>
#>       ...         ...                  ...         ...         ...         ...
#>   [78729]   HGNC:7462                 <NA>        <NA>        <NA>        <NA>
#>   [78730]   HGNC:7479                 <NA>        <NA>        <NA>        <NA>
#>   [78731]   HGNC:7427                 <NA>        <NA>        <NA>        <NA>
#>   [78732]   HGNC:7499                 <NA>        <NA>        <NA>        <NA>
#>   [78733]   HGNC:7494                 <NA>        <NA>        <NA>        <NA>
#>            artif_dupl
#>           <character>
#>       [1]        <NA>
#>       [2]        <NA>
#>       [3]        <NA>
#>       [4]        <NA>
#>       [5]        <NA>
#>       ...         ...
#>   [78729]        <NA>
#>   [78730]        <NA>
#>   [78731]        <NA>
#>   [78732]        <NA>
#>   [78733]        <NA>
#>   -------
#>   seqinfo: 25 sequences from GRCh38 genome; no seqlengths

Identifiers, coordinates, and sequence information

Identifiers are retained as supplied by GENCODE, including version suffixes.

head(S4Vectors::mcols(genes)[, c("gene_id", "gene_name", "gene_type")])
#> DataFrame with 6 rows and 3 columns
#>             gene_id   gene_name              gene_type
#>         <character> <character>            <character>
#> 1 ENSG00000290825.2    DDX11L16                 lncRNA
#> 2 ENSG00000223972.6     DDX11L1 transcribed_unproces..
#> 3 ENSG00000310526.1      WASH7P                 lncRNA
#> 4 ENSG00000227232.6      WASH7P transcribed_unproces..
#> 5 ENSG00000278267.1   MIR6859-1                  miRNA
#> 6 ENSG00000243485.6 MIR1302-2HG                 lncRNA
GenomeInfoDb::seqinfo(genes)
#> Seqinfo object with 25 sequences from GRCh38 genome; no seqlengths:
#>   seqnames seqnames seqlengths isCircular genome
#>   1            chr1       <NA>       <NA> GRCh38
#>   2            chr2       <NA>       <NA> GRCh38
#>   3            chr3       <NA>       <NA> GRCh38
#>   4            chr4       <NA>       <NA> GRCh38
#>   5            chr5       <NA>       <NA> GRCh38
#>   ...           ...        ...        ...    ...
#>   21          chr21       <NA>       <NA> GRCh38
#>   22          chr22       <NA>       <NA> GRCh38
#>   23           chrX       <NA>       <NA> GRCh38
#>   24           chrY       <NA>       <NA> GRCh38
#>   25           chrM       <NA>       <NA> GRCh38

The ranges use one-based, closed coordinates and GENCODE chromosome names (chr1 through chr22, chrX, chrY, and chrM). The genome identifier is GRCh38; the assembly provenance GRCh38.p14 is recorded in the objects and AnnotationHub metadata. The source GTF does not provide chromosome lengths, so seqlengths() are NA. The imported GRanges objects do not set chrM circularity; the TxDb records chrM as circular.

Derive transcription start sites

Gene and transcript resources contain the original source ranges. A strand-aware, one-base transcription start site can be derived without fixing a promoter width in the distributed annotation.

gene_tss <- GenomicRanges::resize(
    genes,
    width = 1L,
    fix = "start"
)
gene_tss
#> GRanges object with 78733 ranges and 22 metadata columns:
#>           seqnames    ranges strand |   source     type     score     phase
#>              <Rle> <IRanges>  <Rle> | <factor> <factor> <numeric> <integer>
#>       [1]     chr1     11121      + |  HAVANA      gene        NA      <NA>
#>       [2]     chr1     12010      + |  HAVANA      gene        NA      <NA>
#>       [3]     chr1     30744      - |  HAVANA      gene        NA      <NA>
#>       [4]     chr1     24886      - |  HAVANA      gene        NA      <NA>
#>       [5]     chr1     17436      - |  ENSEMBL     gene        NA      <NA>
#>       ...      ...       ...    ... .      ...      ...       ...       ...
#>   [78729]     chrM     14673      - |  ENSEMBL     gene        NA      <NA>
#>   [78730]     chrM     14742      - |  ENSEMBL     gene        NA      <NA>
#>   [78731]     chrM     14747      + |  ENSEMBL     gene        NA      <NA>
#>   [78732]     chrM     15888      + |  ENSEMBL     gene        NA      <NA>
#>   [78733]     chrM     16023      - |  ENSEMBL     gene        NA      <NA>
#>                     gene_id              gene_type   gene_name       level
#>                 <character>            <character> <character> <character>
#>       [1] ENSG00000290825.2                 lncRNA    DDX11L16           2
#>       [2] ENSG00000223972.6 transcribed_unproces..     DDX11L1           2
#>       [3] ENSG00000310526.1                 lncRNA      WASH7P           2
#>       [4] ENSG00000227232.6 transcribed_unproces..      WASH7P           2
#>       [5] ENSG00000278267.1                  miRNA   MIR6859-1           3
#>       ...               ...                    ...         ...         ...
#>   [78729] ENSG00000198695.2         protein_coding      MT-ND6           3
#>   [78730] ENSG00000210194.1                Mt_tRNA       MT-TE           3
#>   [78731] ENSG00000198727.2         protein_coding      MT-CYB           3
#>   [78732] ENSG00000210195.2                Mt_tRNA       MT-TT           3
#>   [78733] ENSG00000210196.2                Mt_tRNA       MT-TP           3
#>                           tag transcript_id transcript_type transcript_name
#>                   <character>   <character>     <character>     <character>
#>       [1] overlaps_pseudogene          <NA>            <NA>            <NA>
#>       [2]                <NA>          <NA>            <NA>            <NA>
#>       [3] overlaps_pseudogene          <NA>            <NA>            <NA>
#>       [4]   overlapping_locus          <NA>            <NA>            <NA>
#>       [5]                <NA>          <NA>            <NA>            <NA>
#>       ...                 ...           ...             ...             ...
#>   [78729]                <NA>          <NA>            <NA>            <NA>
#>   [78730]                <NA>          <NA>            <NA>            <NA>
#>   [78731]                <NA>          <NA>            <NA>            <NA>
#>   [78732]                <NA>          <NA>            <NA>            <NA>
#>   [78733]                <NA>          <NA>            <NA>            <NA>
#>           exon_number     exon_id transcript_support_level havana_transcript
#>           <character> <character>              <character>       <character>
#>       [1]        <NA>        <NA>                     <NA>              <NA>
#>       [2]        <NA>        <NA>                     <NA>              <NA>
#>       [3]        <NA>        <NA>                     <NA>              <NA>
#>       [4]        <NA>        <NA>                     <NA>              <NA>
#>       [5]        <NA>        <NA>                     <NA>              <NA>
#>       ...         ...         ...                      ...               ...
#>   [78729]        <NA>        <NA>                     <NA>              <NA>
#>   [78730]        <NA>        <NA>                     <NA>              <NA>
#>   [78731]        <NA>        <NA>                     <NA>              <NA>
#>   [78732]        <NA>        <NA>                     <NA>              <NA>
#>   [78733]        <NA>        <NA>                     <NA>              <NA>
#>               hgnc_id          havana_gene         ont  protein_id      ccdsid
#>           <character>          <character> <character> <character> <character>
#>       [1]        <NA>                 <NA>        <NA>        <NA>        <NA>
#>       [2]  HGNC:37102 OTTHUMG00000000961.2        <NA>        <NA>        <NA>
#>       [3]  HGNC:38034                 <NA>        <NA>        <NA>        <NA>
#>       [4]  HGNC:38034 OTTHUMG00000000958.1        <NA>        <NA>        <NA>
#>       [5]  HGNC:50039                 <NA>        <NA>        <NA>        <NA>
#>       ...         ...                  ...         ...         ...         ...
#>   [78729]   HGNC:7462                 <NA>        <NA>        <NA>        <NA>
#>   [78730]   HGNC:7479                 <NA>        <NA>        <NA>        <NA>
#>   [78731]   HGNC:7427                 <NA>        <NA>        <NA>        <NA>
#>   [78732]   HGNC:7499                 <NA>        <NA>        <NA>        <NA>
#>   [78733]   HGNC:7494                 <NA>        <NA>        <NA>        <NA>
#>            artif_dupl
#>           <character>
#>       [1]        <NA>
#>       [2]        <NA>
#>       [3]        <NA>
#>       [4]        <NA>
#>       [5]        <NA>
#>       ...         ...
#>   [78729]        <NA>
#>   [78730]        <NA>
#>   [78731]        <NA>
#>   [78732]        <NA>
#>   [78733]        <NA>
#>   -------
#>   seqinfo: 25 sequences from GRCh38 genome; no seqlengths

TxDb structural annotation

The TxDb record is substantially larger than the feature-specific resources. Its metadata can be inspected without downloading the 344 MB SQLite file.

getInfoOnIds(hub, "AH122286")
#>           ah_id fetch_id                                     title rdataclass
#> 346058 AH122286   129032 GENCODE v50 annotation: TxDb (GRCh38.p14)       TxDb
#>        status biocversion rdatadateadded rdatadateremoved file_size
#> 346058 Public        3.24     2026-08-06             <NA> 344219648

Load it when transcript, exon, and coding-sequence relationships are required. This deliberately unevaluated example avoids downloading the large database during every vignette build; the evaluated examples above exercise the same AnnotationHub download and cache mechanism.

txdb <- hub[["AH122286"]]
txdb <- gencodeV50("TxDb", hub)
GenomicFeatures::transcripts(txdb)

Provenance and citation

The resources were generated from the official GENCODE release 50 comprehensive gene annotation on the reference chromosomes:

https://ftp.ebi.ac.uk/pub/databases/gencode/Gencode_human/
release_50/gencode.v50.annotation.gtf.gz

The source checksum, transformation procedure, resource counts, build session, and resource checksums are recorded in the Zenodo deposit and in inst/scripts/make-data.R. For reproducible analyses, record the GENCODE release, genome assembly, AH ID, snapshotDate(hub), package version, and Zenodo DOI. Cite the applicable publication listed on the GENCODE project website, the Zenodo record, and GENCODEHub.

snapshotDate(hub)
#> [1] "2026-09-18"
packageVersion("GENCODEHub")
#> [1] '0.99.0'

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] GenomicRanges_1.65.4 Seqinfo_1.3.2        IRanges_2.47.5      
#>  [4] S4Vectors_0.51.10    GENCODEHub_0.99.0    AnnotationHub_4.3.2 
#>  [7] BiocFileCache_3.3.0  dbplyr_2.6.0         BiocGenerics_0.59.12
#> [10] generics_0.1.4       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] Biobase_2.73.2           vctrs_0.7.3              tools_4.6.1             
#> [10] bitops_1.1-0             parallel_4.6.1           curl_8.0.0              
#> [13] tibble_3.3.1             AnnotationDbi_1.75.2     RSQLite_3.53.3          
#> [16] blob_1.3.0               pkgconfig_2.0.3          BiocBaseUtils_1.15.1    
#> [19] Matrix_1.7-6             cigarillo_1.3.1          lifecycle_1.0.5         
#> [22] compiler_4.6.1           Rsamtools_2.29.0         Biostrings_2.81.9       
#> [25] codetools_0.2-20         GenomeInfoDb_1.49.1      htmltools_0.5.9         
#> [28] sys_3.4.3                buildtools_1.0.0         sass_0.4.10             
#> [31] RCurl_1.98-1.20          yaml_2.3.12              pillar_1.11.1           
#> [34] crayon_1.5.3             jquerylib_0.1.4          BiocParallel_1.47.0     
#> [37] cachem_1.1.0             tidyselect_1.2.1         digest_0.6.39           
#> [40] purrr_1.2.2              dplyr_1.2.1              restfulr_0.0.17         
#> [43] BiocVersion_3.24.0       maketools_1.3.2          grid_4.6.1              
#> [46] fastmap_1.2.0            cli_3.6.6                magrittr_2.0.5          
#> [49] GenomicFeatures_1.65.0   XML_3.99-0.25            withr_3.0.3             
#> [52] UCSC.utils_1.9.0         filelock_1.0.3           rappdirs_0.3.4          
#> [55] bit64_4.8.6              rmarkdown_2.32           XVector_0.53.0          
#> [58] httr_1.4.9               bit_4.6.0                otel_0.2.0              
#> [61] png_0.1-9                memoise_2.0.1            evaluate_1.0.5          
#> [64] knitr_1.52               BiocIO_1.23.3            rtracklayer_1.73.0      
#> [67] rlang_1.3.0              glue_1.8.1               DBI_1.3.0               
#> [70] BiocManager_1.30.27      jsonlite_2.0.0           R6_2.6.1                
#> [73] GenomicAlignments_1.49.2