A discussion came up in PR #774 regarding the correct behavior when parsing an mmCif file without auth_seq_id.
BioJava 4.2.11 requires the auth_seq_id column. This is a problem because it is optional according to the spec and omitted by PyMOL.
In b207d34 I added code to use the label_seq_id column for creating the ResidueNumber for each group if auth_seq_id is missing. There was some concern that this could lead to inconsistent residue numbers if some residues used '?' (defaulting to label_) while the rest used the auth_ values specified. This worry is actually not justified due to another bug, which causes a NumberFormatException if '?' is used in that column.
@josemduarte suggested only doing the label_ fallback if ALL groups have null ResidueNumbers. This is probably the right solution, but it seems like such an edge case it might not be worth the hour it will take to fix it.
A discussion came up in PR #774 regarding the correct behavior when parsing an mmCif file without
auth_seq_id.BioJava 4.2.11 requires the
auth_seq_idcolumn. This is a problem because it is optional according to the spec and omitted by PyMOL.In b207d34 I added code to use the
label_seq_idcolumn for creating the ResidueNumber for each group ifauth_seq_idis missing. There was some concern that this could lead to inconsistent residue numbers if some residues used '?' (defaulting tolabel_) while the rest used theauth_values specified. This worry is actually not justified due to another bug, which causes a NumberFormatException if '?' is used in that column.@josemduarte suggested only doing the
label_fallback if ALL groups have null ResidueNumbers. This is probably the right solution, but it seems like such an edge case it might not be worth the hour it will take to fix it.