docs: def get_protein_substitution_language() -> ParserElement:
      """Build a protein substitution parser."""
      parser_element = psub_tag + nest(
          amino_acid(PSUB_REFERENCE),
          ppc.integer(PSUB_POSITION),
          amino_acid(PSUB_VARIANT),
      )
      parser_element.setParseAction(_handle_psub)
      return parser_element