Skip to contents

Converts three-letter amino acid abbreviations to one-letter codes, e.g., Leu to L. The accepted codes in the input include the 20 standard amino acids and also Asx (Asparagine or Aspartic acid), converted to B, and Glx (Glutamine or Glutamic acid) converted to Z.

Usage

as_one_letter(x)

Arguments

x

A character vector of three-letter amino acid codes, e.g. "Ser", "Arg", "Leu", or "Asx".

Value

A character vector of one-letter amino acid codes, e.g. "S", "R", "L", or "B".

Examples

# Convert Ser to S, Arg to R and Pro to P.
as_one_letter(c('Ser', 'Arg', 'Pro'))
#> [1] "S" "R" "P"

# The function `as_one_letter()` is case insensitive on the input but will
# always return the one-letter codes in uppercase.
as_one_letter(c('ser', 'ArG', 'PRO'))
#> [1] "S" "R" "P"

# Convert the codes of the 20 standard amino acids. Note that the function
# `amino_acids()` returns the three-letter codes of the 20 standard amino
# acids.
as_one_letter(amino_acids())
#>  [1] "S" "R" "L" "P" "T" "A" "V" "G" "I" "F" "Y" "C" "H" "Q" "N" "K" "D" "E" "M"
#> [20] "W"

# Convert also special case codes Asx (Asparagine or Aspartic acid) and Glx
# (Glutamine or Glutamic acid)
as_one_letter(c('Asx', 'Glx'))
#> [1] "B" "Z"

# Invalid codes in the input are converted to NA.
# "Ser" is correctly mapped to "S" but "Serine" is not as it is not a
# three-letter amino acid code (the same applies to "Glucose").
as_one_letter(c('Ser', 'Serine', 'Glucose'))
#> [1] "S" NA  NA