Convert three-letter amino acid codes to one-letter codes
Source:R/as_one_letter.R
as_one_letter.Rd
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.
Arguments
- x
A character vector of three-letter amino acid codes, e.g.
"Ser"
,"Arg"
,"Leu"
, or"Asx"
.
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" NA NA
# 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