Merge pull request #3994 from RosettaCommons/JWLabonte/PTMs/parsing
EnzymaticMovers: Expanding parsing of AA sequences
This merge will expand the parsing capabilities of `EnzymaticMover`s by adding additional one-letter codes (B, J, O, U, Z) for amino acid residue pairs or NCAAs and allowing `X[]` to specify a specific `ResidueType` by 3-letter code.
- The parser will now recognize the IUPAC-approved one-letter codes B, J, O, U, and Z, which code for Asx, Xle, Pyl, Sec, and Glx, respectively.
- X alone is recognized to be any of the 20 canonical amino acids; X followed by square brackets specifies a single non-canonical amino acid by 3-letter code. For example, `X[SEP]` specifies phosphoserine.
- Parentheses are used to specify multiple possible residue types at that site, separated by forward slashes, _e.g._, `(A/G)` specifies either Ala or Gly at that position.