ihmwg / python-ihm

Python package for handling IHM mmCIF and BinaryCIF files
MIT License
14 stars 7 forks source link

Extend _entity.src_method to accept values allowed in the PDBx/mmCIF dictionary #33

Closed brindakv closed 5 years ago

brindakv commented 5 years ago

According to the PDBx/mmCIF dictionary, _entity.src_method can have the following values: nat (natural source), man (genetically manipulated source) and syn (synthetic source). The python-ihm library allows for only "man".

benmwebb commented 5 years ago

That's not entirely true - "man" is just the default, but any value can be assigned, e.g.

e = ihm.Entity(...)
e.src_method = 'syn'

It's a little clunky though, not very Pythonic, and doesn't control the possible values. And it won't fill out the entity_src_nat or entity_src_gen tables. What's your use case here? I could probably write a couple of accessory classes to handle Entity-source and use those to populate the entity_src_nat and entity_src_gen tables. Whether we can actually add sensible values for these for our depositions is somewhat debatable, but where our starting models are PDB structures I guess we can inherit the information from there.