Skip to content

Bug/documentation issue: Requesting altloc ("label_alt_id") in extra_fields gets overwritten by "first" if occupancy is not also in extra_fields #70

Description

@k-chrispens

https://github.com/RosettaCommons/atomworks/blob/c314ddd1a069f3e7d051a59f24fbfc908f51c514/src/atomworks/io/utils/io_utils.py#L279C17-L279C83

I ran into an issue using load_any to parse a mmCIF file into an AtomArrayStack.

>>> # This is the mmCIF with PDB ID 6B8X downloaded from RCSB
>>> st = load_any('tests/resources/6b8x/6B8X.cif', altloc='all', extra_fields=["label_alt_id", ]) 
>>> # We know this has non-hetatm alt B records
>>> st[0].query("~hetero and label_alt_id == 'B'")
AtomArray([
])

The issue appears to be in the atomworks version of get_structure, which silently assumes the altloc is "first" unless occupancy is also specified as an extra field. This should be documented or fixed.

Preferably, this would return with "first" only if no additional altloc/occupancy related extra fields are provided.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions