Converts CDS-relative coordinates to positions within the transcript, i.e. relative to the start of the transcript and hence including its 5' UTR.

cdsToTranscript(x, db, id = "name")

Arguments

x

IRanges with the coordinates within the CDS. Coordinates are expected to be relative to the transcription start (the first nucleotide of the transcript). The Ensembl IDs of the corresponding transcripts have to be provided either as names of the IRanges, or in one of its metadata columns.

db

EnsDb object.

id

character(1) specifying where the transcript identifier can be found. Has to be either "name" or one of colnames(mcols(prng)).

Value

IRanges with the same length (and order) than the input IRanges

x. Each element in IRanges provides the coordinates within the transcripts CDS. The transcript-relative coordinates are provided as metadata columns. IRanges with a start coordinate of -1 is returned for transcripts that are not known in the database, non-coding transcripts or if the provided start and/or end coordinates are not within the coding region.

Author

Johannes Rainer

Examples


library(EnsDb.Hsapiens.v86)
## Defining transcript-relative coordinates for 4 transcripts of the gene
## BCL2
txcoords <- IRanges(start = c(4, 3, 143, 147), width = 1,
    names = c("ENST00000398117", "ENST00000333681",
    "ENST00000590515", "ENST00000589955"))

cdsToTranscript(txcoords, EnsDb.Hsapiens.v86)
#> Warning: 1 of 4 transcript(s) are non-coding: ENST00000590515
#> IRanges object with 4 ranges and 2 metadata columns:
#>                       start       end     width | cds_start   cds_end
#>                   <integer> <integer> <integer> | <integer> <integer>
#>   ENST00000398117      1466      1466         1 |         4         4
#>   ENST00000333681       902       902         1 |         3         3
#>   ENST00000590515        -1        -1         1 |       143       143
#>   ENST00000589955       293       293         1 |       147       147

## Next we map the coordinate for variants within the gene PKP2 to the
## genome. The variants is PKP2 c.1643DelG and the provided
## position is thus relative to the CDS. We have to convert the
## position first to transcript-relative coordinates.
pkp2 <- IRanges(start = 1643, width = 1, name = "ENST00000070846")

## Map the coordinates by first converting the CDS- to transcript-relative
## coordinates
transcriptToGenome(cdsToTranscript(pkp2, EnsDb.Hsapiens.v86),
    EnsDb.Hsapiens.v86)
#> GRangesList object of length 1:
#> $ENST00000070846
#> GRanges object with 1 range and 5 metadata columns:
#>       seqnames    ranges strand |         exon_id           tx_id exon_rank
#>          <Rle> <IRanges>  <Rle> |     <character>     <character> <integer>
#>   [1]       12  32841073      - | ENSE00000936503 ENST00000070846         7
#>        tx_start    tx_end
#>       <integer> <integer>
#>   [1]      1668      1668
#>   -------
#>   seqinfo: 1 sequence from GRCh38 genome
#>