biotite
biotite copied to clipboard
Wrong bonds in structures with residues sharing the same residue ID
Both mmtf.get_structure() and connect_via_residue_names() assign too many bonds, if two adjacent residues share the same residue ID. An example is LEU/ILE 25 in 1JXT. In this case all terminal hydrogen atoms are connected to the respective carbon atom of both LEU and ILE. The reason is that both function iterate residue-wise over the structure and consider both residues as the same residue.
Instead of rewriting mmtf.get_structure() and connect_via_residue_names(), one could alternatively add a check_...() function to integrity.py, that checks if two different residues have the same residue ID, as shown in the case above.