use protein_core::types::AminoAcid; use std::str::FromStr; #[derive(Debug, Clone, Eq, PartialEq)] pub enum NonstandardAminoAcid { Dm0, Api, Fty, Oar, Thr, Dbb, Trn, Fgl, Bhd, Aln, Gma, Pha, Dnp, Dgn, Dar, Dva, Dpr, Dsn, Aho, Cyq, Gpl, Pm3, Set, Tyy, Ar7, Csa, Pbf, Csh, Psa, Csz, Tro, B2A, Ble, B2F, Lyn, Mme, Sui, Omy, Phl, Icy, Hso, Alv, Mle, Ahp, Hse, Hip, Niy, Iil, Crg, Lyx, Bal, Trw, Fgp, Dmk, Dmh, Ahb, Hti, Smf, B2V, Ncb, Bmt, Yof, Cr0, Nal, Dbz, Paq, Dde, Fva, Dty, Fho, Crk, Dyg, Iam, Crx, Dly, Bif, Dhi, Cr7, Cyr, Cmh, Hy3, Qlg, Sc2, Mcs, Sxe, Svy, Pf5, B27, Nyg, Kgc, B3E, B3Y, N10, Dgl, Dil, Dth, Dsg, Dcy, Kst, Cml, Ty2, Th5, Lp6, Psw, Ynm, Na8, Th6, Fc0, Izo, Swg, Ht7, Hr7, Cfy, La2, Le1, Xsn, Mp8, Wfp, Nrp, Pr4, Ty8, Ty9, Me0, Ty5, Re0, Jjj, Xcn, Met, Ecc, Wcr, Kws, Plj, Qfg, Qcs, Cq1, Cq2, U2X, Uox, Fak, C1S, Ofm, Byr, L5P, Lrk, N80, Lyr, Dya, Nzc, P1L, Nlw, Vya, B2H, Pdf, F2Y, Eja, Tnq, Snm, His, Jby, Kzv, Kz7, Kz4, Kzg, Ky4, Kz1, Ky7, Kxv, Kzy, Qc4, Ff9, } impl NonstandardAminoAcid { pub fn standard_res(&self) -> Option { match &self { Self::Dm0 => Some(AminoAcid::Lys), Self::Api => Some(AminoAcid::Lys), Self::Fty => Some(AminoAcid::Tyr), Self::Oar => Some(AminoAcid::Arg), Self::Thr => Some(AminoAcid::Thr), Self::Dbb => Some(AminoAcid::Thr), Self::Trn => Some(AminoAcid::Trp), Self::Fgl => Some(AminoAcid::Gly), Self::Bhd => Some(AminoAcid::Asp), Self::Aln => Some(AminoAcid::Ala), Self::Gma => Some(AminoAcid::Glu), Self::Pha => Some(AminoAcid::Phe), Self::Dnp => Some(AminoAcid::Ala), Self::Dgn => Some(AminoAcid::Gln), Self::Dar => Some(AminoAcid::Arg), Self::Dva => Some(AminoAcid::Val), Self::Dpr => Some(AminoAcid::Pro), Self::Dsn => Some(AminoAcid::Ser), Self::Aho => Some(AminoAcid::Ala), Self::Cyq => Some(AminoAcid::Cys), Self::Gpl => Some(AminoAcid::Lys), Self::Pm3 => Some(AminoAcid::Phe), Self::Set => Some(AminoAcid::Ser), Self::Tyy => Some(AminoAcid::Tyr), Self::Ar7 => Some(AminoAcid::Arg), Self::Csa => Some(AminoAcid::Cys), Self::Pbf => Some(AminoAcid::Phe), Self::Csh => Some(AminoAcid::Ser), Self::Psa => Some(AminoAcid::Phe), Self::Csz => Some(AminoAcid::Cys), Self::Tro => Some(AminoAcid::Trp), Self::B2A => Some(AminoAcid::Ala), Self::Ble => Some(AminoAcid::Leu), Self::B2F => Some(AminoAcid::Phe), Self::Lyn => Some(AminoAcid::Lys), Self::Mme => Some(AminoAcid::Met), Self::Sui => Some(AminoAcid::Asp), Self::Omy => Some(AminoAcid::Tyr), Self::Phl => Some(AminoAcid::Phe), Self::Icy => Some(AminoAcid::Cys), Self::Hso => Some(AminoAcid::His), Self::Alv => Some(AminoAcid::Ala), Self::Mle => Some(AminoAcid::Leu), Self::Ahp => Some(AminoAcid::Ala), Self::Hse => Some(AminoAcid::Ser), Self::Hip => Some(AminoAcid::His), Self::Niy => Some(AminoAcid::Tyr), Self::Iil => Some(AminoAcid::Ile), Self::Crg => Some(AminoAcid::Thr), Self::Lyx => Some(AminoAcid::Lys), Self::Bal => Some(AminoAcid::Ala), Self::Trw => Some(AminoAcid::Trp), Self::Fgp => Some(AminoAcid::Ser), Self::Dmk => Some(AminoAcid::Asp), Self::Dmh => Some(AminoAcid::Asn), Self::Ahb => Some(AminoAcid::Asn), Self::Hti => Some(AminoAcid::Cys), Self::Smf => Some(AminoAcid::Phe), Self::B2V => Some(AminoAcid::Val), Self::Ncb => Some(AminoAcid::Ala), Self::Bmt => Some(AminoAcid::Thr), Self::Yof => Some(AminoAcid::Tyr), Self::Cr0 => Some(AminoAcid::Thr), Self::Nal => Some(AminoAcid::Ala), Self::Dbz => Some(AminoAcid::Ala), Self::Paq => Some(AminoAcid::Tyr), Self::Dde => Some(AminoAcid::His), Self::Fva => Some(AminoAcid::Val), Self::Dty => Some(AminoAcid::Tyr), Self::Fho => Some(AminoAcid::Lys), Self::Crk => Some(AminoAcid::Met), Self::Dyg => Some(AminoAcid::Asp), Self::Iam => Some(AminoAcid::Ala), Self::Crx => Some(AminoAcid::Ala), Self::Dly => Some(AminoAcid::Lys), Self::Bif => Some(AminoAcid::Phe), Self::Dhi => Some(AminoAcid::His), Self::Cr7 => Some(AminoAcid::Lys), Self::Cyr => Some(AminoAcid::Cys), Self::Cmh => Some(AminoAcid::Cys), Self::Hy3 => Some(AminoAcid::Pro), Self::Qlg => Some(AminoAcid::Gln), Self::Sc2 => Some(AminoAcid::Cys), Self::Mcs => Some(AminoAcid::Cys), Self::Sxe => Some(AminoAcid::Ser), Self::Svy => Some(AminoAcid::Ser), Self::Pf5 => Some(AminoAcid::Phe), Self::B27 => Some(AminoAcid::Thr), Self::Nyg => Some(AminoAcid::Asn), Self::Kgc => Some(AminoAcid::Lys), Self::B3E => Some(AminoAcid::Glu), Self::B3Y => Some(AminoAcid::Tyr), Self::N10 => Some(AminoAcid::Ser), Self::Dgl => Some(AminoAcid::Glu), Self::Dil => Some(AminoAcid::Ile), Self::Dth => Some(AminoAcid::Thr), Self::Dsg => Some(AminoAcid::Asn), Self::Dcy => Some(AminoAcid::Cys), Self::Kst => Some(AminoAcid::Lys), Self::Cml => Some(AminoAcid::Cys), Self::Ty2 => Some(AminoAcid::Tyr), Self::Th5 => Some(AminoAcid::Thr), Self::Lp6 => Some(AminoAcid::Lys), Self::Psw => Some(AminoAcid::Sec), Self::Ynm => Some(AminoAcid::Tyr), Self::Na8 => Some(AminoAcid::Ala), Self::Th6 => Some(AminoAcid::Thr), Self::Fc0 => Some(AminoAcid::Phe), Self::Izo => Some(AminoAcid::Met), Self::Swg => Some(AminoAcid::Ser), Self::Ht7 => Some(AminoAcid::Trp), Self::Hr7 => Some(AminoAcid::Arg), Self::Cfy => Some(AminoAcid::Phe), Self::La2 => Some(AminoAcid::Lys), Self::Le1 => Some(AminoAcid::Val), Self::Xsn => Some(AminoAcid::Asn), Self::Mp8 => Some(AminoAcid::Pro), Self::Wfp => Some(AminoAcid::Phe), Self::Nrp => Some(AminoAcid::Leu), Self::Pr4 => Some(AminoAcid::Pro), Self::Ty8 => Some(AminoAcid::Tyr), Self::Ty9 => Some(AminoAcid::Tyr), Self::Me0 => Some(AminoAcid::Met), Self::Ty5 => Some(AminoAcid::Tyr), Self::Re0 => Some(AminoAcid::Trp), Self::Jjj => Some(AminoAcid::Cys), Self::Xcn => Some(AminoAcid::Cys), Self::Met => Some(AminoAcid::Gln), Self::Ecc => Some(AminoAcid::Gln), Self::Wcr => Some(AminoAcid::Gly), Self::Kws => Some(AminoAcid::Thr), Self::Plj => Some(AminoAcid::Pro), Self::Qfg => Some(AminoAcid::Gln), Self::Qcs => Some(AminoAcid::Cys), Self::Cq1 => Some(AminoAcid::Thr), Self::Cq2 => Some(AminoAcid::Gly), Self::U2X => Some(AminoAcid::Tyr), Self::Uox => Some(AminoAcid::Sec), Self::Fak => Some(AminoAcid::Lys), Self::C1S => Some(AminoAcid::Cys), Self::Ofm => Some(AminoAcid::Phe), Self::Byr => Some(AminoAcid::Tyr), Self::L5P => Some(AminoAcid::Lys), Self::Lrk => Some(AminoAcid::Lys), Self::N80 => Some(AminoAcid::Pro), Self::Lyr => Some(AminoAcid::Lys), Self::Dya => Some(AminoAcid::Asp), Self::Nzc => Some(AminoAcid::Thr), Self::P1L => Some(AminoAcid::Cys), Self::Nlw => Some(AminoAcid::Leu), Self::Vya => Some(AminoAcid::Gly), Self::B2H => Some(AminoAcid::Gly), Self::Pdf => Some(AminoAcid::Pro), Self::F2Y => Some(AminoAcid::Tyr), Self::Eja => Some(AminoAcid::Cys), Self::Tnq => Some(AminoAcid::Trp), Self::Snm => Some(AminoAcid::Ser), Self::His => Some(AminoAcid::His), Self::Jby => Some(AminoAcid::Gly), Self::Kzv => Some(AminoAcid::Cys), Self::Kz7 => Some(AminoAcid::Cys), Self::Kz4 => Some(AminoAcid::Cys), Self::Kzg => Some(AminoAcid::Cys), Self::Ky4 => Some(AminoAcid::Cys), Self::Kz1 => Some(AminoAcid::Cys), Self::Ky7 => Some(AminoAcid::Cys), Self::Kxv => Some(AminoAcid::Cys), Self::Kzy => Some(AminoAcid::Cys), Self::Qc4 => Some(AminoAcid::Thr), Self::Ff9 => Some(AminoAcid::Lys), } } pub fn description(&self) -> &'static str { match &self { Self::Dm0 => "", Self::Api => "2,6-DIAMINOPIMELIC ACID", Self::Fty => "DEOXY-DIFLUOROMETHELENE-PHOSPHOTYROSINE", Self::Oar => "N-(4-AMINO-5-HYDROXY-PENTYL)-GUANIDINE", Self::Thr => "GLYCOSYLATION SITE", Self::Dbb => "POST-TRANSLATIONAL MODIFICATION", Self::Trn => "NZ2-TRYPTOPHAN", Self::Fgl => "2-AMINOPROPANEDIOIC ACID", Self::Bhd => "(3S)-3-HYDROXY-L-ASPARTIC ACID", Self::Aln => "NAPHTHALEN-2-YL-3-ALANINE", Self::Gma => "4-AMIDO-4-CARBAMOYL-BUTYRIC ACID", Self::Pha => "PHENYLALANINAL", Self::Dnp => "3-AMINO-ALANINE", Self::Dgn => "D-GLUTAMINE", Self::Dar => "D-ARGININE", Self::Dva => "D-VALINE", Self::Dpr => "D-PROLINE", Self::Dsn => "D-SERINE", Self::Aho => "N-ACETYL-N-HYDROXY-L-ORNITHINE", Self::Cyq => "", Self::Gpl => "LYSINE GUANOSINE-5'-MONOPHOSPHATE", Self::Pm3 => "", Self::Set => "AMINOSERINE", Self::Tyy => "", Self::Ar7 => "", Self::Csa => "S-ACETONYLCYSTEINE", Self::Pbf => "PARA-(BENZOYL)-PHENYLALANINE", Self::Csh => "", Self::Psa => "", Self::Csz => "S-SELANYL CYSTEINE", Self::Tro => "2-HYDROXY-TRYPTOPHAN", Self::B2A => "ALANINE BORONIC ACID", Self::Ble => "LEUCINE BORONIC ACID", Self::B2F => "PHENYLALANINE BORONIC ACID", Self::Lyn => "2,6-DIAMINO-HEXANOIC ACID AMIDE", Self::Mme => "N-METHYL METHIONINE", Self::Sui => "", Self::Omy => "", Self::Phl => "L-PHENYLALANINOL", Self::Icy => "S-(2-IODOBENZYL)-L-CYSTEINE", Self::Hso => "L-HISTIDINOL", Self::Alv => "(2S)-2-AMINOPROPANE-1,1-DIOL", Self::Mle => "N-METHYLLEUCINE", Self::Ahp => "2-AMINO-HEPTANOIC ACID", Self::Hse => "L-HOMOSERINE", Self::Hip => "ND1-PHOSPHONOHISTIDINE", Self::Niy => "META-NITRO-TYROSINE", Self::Iil => "ISO-ISOLEUCINE", Self::Crg => "", Self::Lyx => "N''-(2-COENZYME A)-PROPANOYL-LYSINE", Self::Bal => "BETA-ALANINE", Self::Trw => "", Self::Fgp => "", Self::Dmk => "3,3-DIMETHYL ASPARTIC ACID", Self::Dmh => "N4,N4-DIMETHYL-ASPARAGINE", Self::Ahb => "BETA-HYDROXYASPARAGINE", Self::Hti => "", Self::Smf => "4-SULFOMETHYL-L-PHENYLALANINE", Self::B2V => "VALINE BORONIC ACID", Self::Ncb => "N-CARBAMOYL-ALANINE", Self::Bmt => "", Self::Yof => "3-FLUOROTYROSINE", Self::Cr0 => "", Self::Nal => "BETA-(2-NAPHTHYL)-ALANINE", Self::Dbz => "3-(BENZOYLAMINO)-L-ALANINE", Self::Paq => "", Self::Dde => "", Self::Fva => "N-FORMYL-L-VALINE", Self::Dty => "D-TYROSINE", Self::Fho => "N^5^-FORMYL-N^5^-HYDROXY-L-ORNITHINE", Self::Crk => "", Self::Dyg => "", Self::Iam => "4-[(ISOPROPYLAMINO)METHYL]PHENYLALANINE", Self::Crx => "", Self::Dly => "D-LYSINE", Self::Bif => "", Self::Dhi => "D-HISTIDINE", Self::Cr7 => "", Self::Cyr => "", Self::Cmh => "S-(METHYLMERCURY)-L-CYSTEINE", Self::Hy3 => "3-HYDROXYPROLINE", Self::Qlg => "", Self::Sc2 => "N-ACETYL-L-CYSTEINE", Self::Mcs => "MALONYL CYSTEINE", Self::Sxe => "", Self::Svy => "", Self::Pf5 => "2,3,4,5,6-PENTAFLUORO-L-PHENYLALANINE", Self::B27 => "(2R,3S) 3-AMINO-4-MERCAPTO-2-BUTANOL", Self::Nyg => "", Self::Kgc => "", Self::B3E => "(3S)-3-AMINOHEXANEDIOIC ACID", Self::B3Y => "", Self::N10 => "O-[(HEXYLAMINO)CARBONYL]-L-SERINE", Self::Dgl => "D-GLUTAMIC ACID", Self::Dil => "D-ISOLEUCINE", Self::Dth => "D-THREONINE", Self::Dsg => "D-ASPARAGINE", Self::Dcy => "D-CYSTEINE", Self::Kst => "N~6~-(5-CARBOXY-3-THIENYL)-L-LYSINE", Self::Cml => "", Self::Ty2 => "3-AMINO-L-TYROSINE", Self::Th5 => "O-ACETYL-L-THREONINE", Self::Lp6 => "6-PIPERIDIN-1-YL-L-NORLEUCINE", Self::Psw => "3-(SULFANYLSELANYL)-L-ALANINE", Self::Ynm => "N-METHYL-L-TYROSINE", Self::Na8 => "BETA-(2-NAPHTHYL)-ALANINE", Self::Th6 => "4-HYDROXY-L-THREONINE", Self::Fc0 => "N-CARBOXY-L-PHENYLALANINE", Self::Izo => "(2S)-2-AMINOHEX-5-YNOIC ACID", Self::Swg => "", Self::Ht7 => "", Self::Hr7 => "", Self::Cfy => "", Self::La2 => "", Self::Le1 => "3-SULFANYL-L-VALINE", Self::Xsn => "L-ALPHA-ASPARAGINE", Self::Mp8 => "(4R)-4-METHYL-L-PROLINE", Self::Wfp => "3,5-DIFLUORO-L-PHENYLALANINE", Self::Nrp => "", Self::Pr4 => "", Self::Ty8 => "", Self::Ty9 => "", Self::Me0 => "HYDROXY-L-METHIONINE", Self::Ty5 => "O-BENZYL-L-TYROSINE", Self::Re0 => "", Self::Jjj => "S-(PYRIDIN-3-YLCARBONYL)-L-CYSTEINE", Self::Xcn => "S-CYANO-L-CYSTEINE", Self::Met => "CHROMOPHORE", Self::Ecc => "(4S)-4-AMINO-5-HYDROXYPENTANAMIDE", Self::Wcr => "", Self::Kws => "", Self::Plj => "METHYL L-PROLINATE", Self::Qfg => "", Self::Qcs => "S-CARBAMOYL-L-CYSTEINE", Self::Cq1 => "", Self::Cq2 => "", Self::U2X => "O-(CYCLOHEXYLMETHYL)-L-TYROSINE", Self::Uox => "3-(OXIDO-LAMBDA~4~-SELANYL)-L-ALANINE", Self::Fak => "N~6~-(TRIFLUOROACETYL)-L-LYSINE", Self::C1S => "3-(PROP-2-EN-1-YLDISULFANYL)-L-ALANINE", Self::Ofm => "CIRCULARIZED CHROMOPHORE", Self::Byr => "MODIFIED RESIDUE", Self::L5P => "MODIFIED RESIDUE", Self::Lrk => "MODIFIED RESIDUE", Self::N80 => "MODIFIED RESIDUE", Self::Lyr => "MODIFIED RESIDUE", Self::Dya => "DIDEHYDROASPARTATE", Self::Nzc => "N-METHYLIDENE-L-THREONINE", Self::P1L => "MODIFIED RESIDUE", Self::Nlw => "MODIFIED RESIDUE", Self::Vya => "CHROMOPHORE", Self::B2H => "CHROMOPHORE", Self::Pdf => "MODIFIED RESIDUE", Self::F2Y => "MODIFIED RESIDUE", Self::Eja => "MODIFIED RESIDUE", Self::Tnq => "MODIFIED RESIDUE", Self::Snm => "MODIFIED RESIDUE", Self::His => "MODIFIED RESIDUE", Self::Jby => "CHROMOPHORE", Self::Kzv => "CHROMOPHORE", Self::Kz7 => "CHROMOPHORE", Self::Kz4 => "CHROMOPHORE", Self::Kzg => "CHROMOPHORE", Self::Ky4 => "CHROMOPHORE", Self::Kz1 => "CHROMOPHORE", Self::Ky7 => "CHROMOPHORE", Self::Kxv => "CHROMOPHORE", Self::Kzy => "CHROMOPHORE", Self::Qc4 => "CHROMOPHORE", Self::Ff9 => "MODIFIED RESIDUE", } } } impl FromStr for NonstandardAminoAcid { type Err = String; fn from_str(inp: &[u8]) -> Result::Err> { match inp { "DM0" => Ok(Self::Dm0), "API" => Ok(Self::Api), "FTY" => Ok(Self::Fty), "OAR" => Ok(Self::Oar), "THR" => Ok(Self::Thr), "DBB" => Ok(Self::Dbb), "TRN" => Ok(Self::Trn), "FGL" => Ok(Self::Fgl), "BHD" => Ok(Self::Bhd), "ALN" => Ok(Self::Aln), "GMA" => Ok(Self::Gma), "PHA" => Ok(Self::Pha), "DNP" => Ok(Self::Dnp), "DGN" => Ok(Self::Dgn), "DAR" => Ok(Self::Dar), "DVA" => Ok(Self::Dva), "DPR" => Ok(Self::Dpr), "DSN" => Ok(Self::Dsn), "AHO" => Ok(Self::Aho), "CYQ" => Ok(Self::Cyq), "GPL" => Ok(Self::Gpl), "PM3" => Ok(Self::Pm3), "SET" => Ok(Self::Set), "TYY" => Ok(Self::Tyy), "AR7" => Ok(Self::Ar7), "CSA" => Ok(Self::Csa), "PBF" => Ok(Self::Pbf), "CSH" => Ok(Self::Csh), "PSA" => Ok(Self::Psa), "CSZ" => Ok(Self::Csz), "TRO" => Ok(Self::Tro), "B2A" => Ok(Self::B2A), "BLE" => Ok(Self::Ble), "B2F" => Ok(Self::B2F), "LYN" => Ok(Self::Lyn), "MME" => Ok(Self::Mme), "SUI" => Ok(Self::Sui), "OMY" => Ok(Self::Omy), "PHL" => Ok(Self::Phl), "ICY" => Ok(Self::Icy), "HSO" => Ok(Self::Hso), "ALV" => Ok(Self::Alv), "MLE" => Ok(Self::Mle), "AHP" => Ok(Self::Ahp), "HSE" => Ok(Self::Hse), "HIP" => Ok(Self::Hip), "NIY" => Ok(Self::Niy), "IIL" => Ok(Self::Iil), "CRG" => Ok(Self::Crg), "LYX" => Ok(Self::Lyx), "BAL" => Ok(Self::Bal), "TRW" => Ok(Self::Trw), "FGP" => Ok(Self::Fgp), "DMK" => Ok(Self::Dmk), "DMH" => Ok(Self::Dmh), "AHB" => Ok(Self::Ahb), "HTI" => Ok(Self::Hti), "SMF" => Ok(Self::Smf), "B2V" => Ok(Self::B2V), "NCB" => Ok(Self::Ncb), "BMT" => Ok(Self::Bmt), "YOF" => Ok(Self::Yof), "CR0" => Ok(Self::Cr0), "NAL" => Ok(Self::Nal), "DBZ" => Ok(Self::Dbz), "PAQ" => Ok(Self::Paq), "DDE" => Ok(Self::Dde), "FVA" => Ok(Self::Fva), "DTY" => Ok(Self::Dty), "FHO" => Ok(Self::Fho), "CRK" => Ok(Self::Crk), "DYG" => Ok(Self::Dyg), "IAM" => Ok(Self::Iam), "CRX" => Ok(Self::Crx), "DLY" => Ok(Self::Dly), "BIF" => Ok(Self::Bif), "DHI" => Ok(Self::Dhi), "CR7" => Ok(Self::Cr7), "CYR" => Ok(Self::Cyr), "CMH" => Ok(Self::Cmh), "HY3" => Ok(Self::Hy3), "QLG" => Ok(Self::Qlg), "SC2" => Ok(Self::Sc2), "MCS" => Ok(Self::Mcs), "SXE" => Ok(Self::Sxe), "SVY" => Ok(Self::Svy), "PF5" => Ok(Self::Pf5), "B27" => Ok(Self::B27), "NYG" => Ok(Self::Nyg), "KGC" => Ok(Self::Kgc), "B3E" => Ok(Self::B3E), "B3Y" => Ok(Self::B3Y), "N10" => Ok(Self::N10), "DGL" => Ok(Self::Dgl), "DIL" => Ok(Self::Dil), "DTH" => Ok(Self::Dth), "DSG" => Ok(Self::Dsg), "DCY" => Ok(Self::Dcy), "KST" => Ok(Self::Kst), "CML" => Ok(Self::Cml), "TY2" => Ok(Self::Ty2), "TH5" => Ok(Self::Th5), "LP6" => Ok(Self::Lp6), "PSW" => Ok(Self::Psw), "YNM" => Ok(Self::Ynm), "NA8" => Ok(Self::Na8), "TH6" => Ok(Self::Th6), "FC0" => Ok(Self::Fc0), "IZO" => Ok(Self::Izo), "SWG" => Ok(Self::Swg), "HT7" => Ok(Self::Ht7), "HR7" => Ok(Self::Hr7), "CFY" => Ok(Self::Cfy), "LA2" => Ok(Self::La2), "LE1" => Ok(Self::Le1), "XSN" => Ok(Self::Xsn), "MP8" => Ok(Self::Mp8), "WFP" => Ok(Self::Wfp), "NRP" => Ok(Self::Nrp), "PR4" => Ok(Self::Pr4), "TY8" => Ok(Self::Ty8), "TY9" => Ok(Self::Ty9), "ME0" => Ok(Self::Me0), "TY5" => Ok(Self::Ty5), "RE0" => Ok(Self::Re0), "JJJ" => Ok(Self::Jjj), "XCN" => Ok(Self::Xcn), "MET" => Ok(Self::Met), "ECC" => Ok(Self::Ecc), "WCR" => Ok(Self::Wcr), "KWS" => Ok(Self::Kws), "PLJ" => Ok(Self::Plj), "QFG" => Ok(Self::Qfg), "QCS" => Ok(Self::Qcs), "CQ1" => Ok(Self::Cq1), "CQ2" => Ok(Self::Cq2), "U2X" => Ok(Self::U2X), "UOX" => Ok(Self::Uox), "FAK" => Ok(Self::Fak), "C1S" => Ok(Self::C1S), "OFM" => Ok(Self::Ofm), "BYR" => Ok(Self::Byr), "L5P" => Ok(Self::L5P), "LRK" => Ok(Self::Lrk), "N80" => Ok(Self::N80), "LYR" => Ok(Self::Lyr), "DYA" => Ok(Self::Dya), "NZC" => Ok(Self::Nzc), "P1L" => Ok(Self::P1L), "NLW" => Ok(Self::Nlw), "VYA" => Ok(Self::Vya), "B2H" => Ok(Self::B2H), "PDF" => Ok(Self::Pdf), "F2Y" => Ok(Self::F2Y), "EJA" => Ok(Self::Eja), "TNQ" => Ok(Self::Tnq), "SNM" => Ok(Self::Snm), "HIS" => Ok(Self::His), "JBY" => Ok(Self::Jby), "KZV" => Ok(Self::Kzv), "KZ7" => Ok(Self::Kz7), "KZ4" => Ok(Self::Kz4), "KZG" => Ok(Self::Kzg), "KY4" => Ok(Self::Ky4), "KZ1" => Ok(Self::Kz1), "KY7" => Ok(Self::Ky7), "KXV" => Ok(Self::Kxv), "KZY" => Ok(Self::Kzy), "QC4" => Ok(Self::Qc4), "FF9" => Ok(Self::Ff9), _ => Err("not a known non-standard amino acid".to_owned()), } } }