Closed xvlaurent closed 4 months ago
I tried it and I got:
{'align_id': ['1', '2', '3', '4', '5', '6'], 'ref_id': ['2', '3', '4', '6', '7', '8'], 'pdbx_strand_id': ['E', 'B', 'F', 'D', 'G', 'H'], …
Anyway, it still doesn't include chain A.
In the absence of the TER record, use:
structure.setup_entities()
to get the same result (in maybe 99.9% of cases) as you would with TER records.
This is probably the most confusing part of gemmi – it comes up quite often.
The end of a polymer is not determined automatically because sometimes it's ambiguous. In particular, a non-standard monomer at the end of a chain can be either the last residue in the chain or the first ligand.
Maybe I'll change it at some point (by adding a mandatory flag to read_pdb()
and similar functions that would specify how to determine the end of a polymer). But this will be backward incompatible.
I understand. I did not thought setup_entities()
could also fix that type of issues.
Thanks for your answer!
I have a PDB file without TER between proteic chains like this one: 2po6_wo_ter.zip
When I run the following command in python:
it returns:
I was expecting _struct_ref_seq entries for chains A to H, like what I have when I run the same commands on the official 2po6 RCSB PDB file that have TER records.
Thanks a lot for your work!