salilab / IHMValidation

Validation software for integrative models deposited to PDB
MIT License
2 stars 2 forks source link

Type mismatches in _ihm_starting_comparative_models section in PDBDEV_00000059 #58

Closed aozalevsky closed 2 years ago

aozalevsky commented 2 years ago

According to the dictionary the template_seq_id_begin and template_seq_id_end fields have to be integer values. However they are set with a ? symbol:

#                                                                                                                                                                                                          
loop_                                                                                                                                                                                                      
_ihm_starting_comparative_models.id                                                                                                                                                                        
_ihm_starting_comparative_models.starting_model_id                                                                                                                                                         
_ihm_starting_comparative_models.starting_model_auth_asym_id                                                                                                                                               
_ihm_starting_comparative_models.starting_model_seq_id_begin                                                                                                                                               
_ihm_starting_comparative_models.starting_model_seq_id_end                                                                                                                                                 
_ihm_starting_comparative_models.template_auth_asym_id                                                                                                                                                     
_ihm_starting_comparative_models.template_seq_id_begin                                                                                                                                                     
_ihm_starting_comparative_models.template_seq_id_end                                                                                                                                                       
_ihm_starting_comparative_models.template_sequence_identity                                                                                                                                                
_ihm_starting_comparative_models.template_sequence_identity_denominator                                                                                                                                    
_ihm_starting_comparative_models.template_dataset_list_id                                                                                                                                                  
_ihm_starting_comparative_models.alignment_file_id                                                                                                                                                         
1 3 A 1 51 C ? ? ? ? 3 .                                                                                                                                                                                   
2 4 A 1 51 D ? ? ? ? 3 .                                                                                                                                                                                   
#                            

IHM follows the spec and fails with the error:

/usr/local/lib/python3.8/dist-packages/ihm/reader.py in __call__(self, starting_model_id, template_dataset_list_id, alignment_file_id, template_auth_asym_id, starting_model_seq_id_begin, starting_model_seq_id_end, template_seq_id_begin, template_seq_id_end, template_sequence_identity, template_sequence_identity_denominator)
   1538         seq_id_range = (int(starting_model_seq_id_begin),
   1539                         int(starting_model_seq_id_end))
-> 1540         template_seq_id_range = (int(template_seq_id_begin),
   1541                                  int(template_seq_id_end))
   1542         identity = ihm.startmodel.SequenceIdentity(

TypeError: int() argument must be a string, a bytes-like object or a number, not '__UnknownValue'

@brindakv what is the best course of action in this case?

brindakv commented 2 years ago

template_seq_id_begin and template_seq_id_end are not mandatory fields and therefore can be set to ?.

aozalevsky commented 2 years ago

then I presume this qualifies as an ihm bug for @benmwebb