R/transcriptToX.R
cdsToTranscript.Rd
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")
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.
EnsDb
object.
character(1)
specifying where the transcript identifier can be
found. Has to be either "name"
or one of colnames(mcols(prng))
.
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.
Other coordinate mapping functions:
genomeToProtein()
,
genomeToTranscript()
,
proteinToGenome()
,
proteinToTranscript()
,
transcriptToCds()
,
transcriptToGenome()
,
transcriptToProtein()
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
#>