Support of D-AminoAcids
D-AminoAcids (https://proteopedia.org/wiki/index.php/Amino_Acids) are optical isomers or enantiomers (mirror images) of naturally occuring L-AminoAcids. They have the same structure but with opposite chirality.
When I parse structures that contain D-AminoAcids, they are parser as hetatoms.
Here are some of my notes:
- I tried adding the D-AminoAcids to StructureTools lookup table, but that was not enough.
HetatomImpl.isAminoAcid()returnsfalsefor cases like DAL (D-Alanine), because it tests whetherPolymerType.PROTEIN_ONLY.contains(pt).- Although PolymerType includes types for both
peptide("polypeptide(L)")anddpeptide("polypeptide(D)"),PolymerType.PROTEIN_ONLYcontains thepeptidetype only. - Also I see a lot of redundancy between
StructureToolsandChemCompTools. Is there a need to keep both of them?, or we can simply deprecate the former for the sake of the later.
I think a restructuring task can be done in conjunction with supporting longer ChecmComp names expected in 2022.
We can schedule refactoring this feature to the new version of BioJava. However, we need to start by supporting D-AminoAcids soon.