Learn R Programming

alakazam (version 1.4.0)

getSegment: Get Ig segment allele, gene and family names

Description

getSegment performs generic matching of delimited segment calls with a custom regular expression. getAllele, getGene and getFamily extract the allele, gene and family names, respectively, from a character vector of immunoglobulin (Ig) or TCR segment allele calls in IMGT format.

Usage

getSegment(
  segment_call,
  segment_regex,
  first = TRUE,
  collapse = TRUE,
  strip_d = TRUE,
  omit_nl = FALSE,
  sep = ","
)

getAllele( segment_call, first = TRUE, collapse = TRUE, strip_d = TRUE, omit_nl = FALSE, sep = "," )

getGene( segment_call, first = TRUE, collapse = TRUE, strip_d = TRUE, omit_nl = FALSE, sep = "," )

getFamily( segment_call, first = TRUE, collapse = TRUE, strip_d = TRUE, omit_nl = FALSE, sep = "," )

getLocus( segment_call, first = TRUE, collapse = TRUE, strip_d = TRUE, omit_nl = FALSE, sep = "," )

getChain( segment_call, first = TRUE, collapse = TRUE, strip_d = TRUE, omit_nl = FALSE, sep = "," )

Value

A character vector containing allele, gene or family names.

Arguments

segment_call

character vector containing segment calls delimited by commas.

segment_regex

string defining the segment match regular expression.

first

if TRUE return only the first call in segment_call; if FALSE return all calls delimited by commas.

collapse

if TRUE check for duplicates and return only unique segment assignments; if FALSE return all assignments (faster). Has no effect if first=TRUE.

strip_d

if TRUE remove the "D" from the end of gene annotations (denoting a duplicate gene in the locus); if FALSE do not alter gene names.

omit_nl

if TRUE remove non-localized (NL) genes from the result. Only applies at the gene or allele level.

sep

character defining both the input and output segment call delimiter.

References

https://www.imgt.org/

See Also

countGenes

Examples

Run this code
# Light chain examples
kappa_call <- c(
    "Homsap IGKV1D-39*01 F,Homsap IGKV1-39*02 F,Homsap IGKV1-39*01",
    "Homsap IGKJ5*01 F"
)

getAllele(kappa_call)
getAllele(kappa_call, first = FALSE)
getAllele(kappa_call, first = FALSE, strip_d = FALSE)

getGene(kappa_call)
getGene(kappa_call, first = FALSE)
getGene(kappa_call, first = FALSE, strip_d = FALSE)

getFamily(kappa_call)
getFamily(kappa_call, first = FALSE)
getFamily(kappa_call, first = FALSE, collapse = FALSE)
getFamily(kappa_call, first = FALSE, strip_d = FALSE)

getLocus(kappa_call)
getChain(kappa_call)

# Heavy chain examples
heavy_call <- c(
    "Homsap IGHV1-69*01 F,Homsap IGHV1-69D*01 F",
    "Homsap IGHD1-1*01 F",
    "Homsap IGHJ1*01 F"
)

getAllele(heavy_call, first = FALSE)
getAllele(heavy_call, first = FALSE, strip_d = FALSE)

getGene(heavy_call, first = FALSE)
getGene(heavy_call, first = FALSE, strip_d = FALSE)

getFamily(heavy_call)
getLocus(heavy_call)
getChain(heavy_call)

# Filtering non-localized genes
nl_call <- c(
    "IGHV3-NL1*01,IGHV3-30-3*01,IGHV3-30*01",
    "Homosap IGHV3-30*01 F,Homsap IGHV3-NL1*01 F",
    "IGHV1-NL1*01"
)

getAllele(nl_call, first = FALSE, omit_nl = TRUE)
getGene(nl_call, first = FALSE, omit_nl = TRUE)
getFamily(nl_call, first = FALSE, omit_nl = TRUE)

# Temporary designation examples
tmp_call <- c("IGHV9S3*01", "IGKV10S12*01")

getAllele(tmp_call)
getGene(tmp_call)
getFamily(tmp_call)

Run the code above in your browser using DataLab