1   
  2   
  3   
  4   
  5   
  6   
  7   
  8   
  9   
 10   
 11   
 12   
 13   
 14   
 15   
 16   
 17   
 18   
 19   
 20   
 21   
 22   
 23  """The entity saveframe category. 
 24   
 25  This file is part of the U{BMRB library<https://sourceforge.net/projects/bmrblib>}. 
 26   
 27  For example, see http://www.bmrb.wisc.edu/dictionary/3.1html/SaveFramePage.html#entity. 
 28  """ 
 29   
 30   
 31  from bmrblib.base_classes import BaseSaveframe, TagCategory, TagCategoryFree 
 32   
 33   
 35      """The entity saveframe class.""" 
 36   
 37       
 38      label = 'entity' 
 39      sf_label = 'entity' 
 40   
  47   
 48   
 49   
 51      """Base class for the Entity tag category.""" 
 52   
 54          """Setup the Entity tag category. 
 55   
 56          @param sf:  The saveframe object. 
 57          @type sf:   saveframe instance 
 58          """ 
 59   
 60           
 61          super(Entity, self).__init__(sf) 
 62   
 63           
 64          self.add(key='EntityID',                        var_name='count_str',                       format='int') 
 65          self.add(key='BMRBCode',                        var_name='bmrb_code',                       format='str') 
 66          self.add(key='Name',                            var_name='mol_name',                        format='str') 
 67          self.add(key='Type',                            var_name='mol_type',                        format='str') 
 68          self.add(key='PolymerCommonType',               var_name='polymer_common_type',             format='str') 
 69          self.add(key='PolymerType',                     var_name='polymer_type',                    format='str',    allowed=['DNA/RNA hybrid', 'polydeoxyribonucleotide', 'polypeptide(D)', 'polypeptide(L)', 'polyribonucleotide', 'polysaccharide(D)', 'polysaccharide(L)']) 
 70          self.add(key='PolymerTypeDetails',              var_name='polymer_type_details',            format='str') 
 71          self.add(key='PolymerStrandID',                 var_name='polymer_strand_id',               format='str') 
 72          self.add(key='PolymerSeqOneLetterCodeCan',      var_name='polymer_seq_one_letter_code_can', format='str') 
 73          self.add(key='PolymerSeqOneLetterCode',         var_name='polymer_seq_one_letter_code',     format='str') 
 74          self.add(key='TargetIdentifier',                var_name='target_identifier',               format='str') 
 75          self.add(key='PolymerAuthorDefinedSeq',         var_name='polymer_author_defined_seq',      format='str') 
 76          self.add(key='PolymerAuthorSeqDetails',         var_name='polymer_author_seq_details',      format='str') 
 77          self.add(key='AmbiguousConformationalStates',   var_name='ambiguous_conformational_states', format='str') 
 78          self.add(key='AmbiguousChemCompSites',          var_name='ambiguous_chem_comp_sites',       format='str') 
 79          self.add(key='NstdMonomer',                     var_name='nstd_monomer',                    format='str') 
 80          self.add(key='NstdChirality',                   var_name='nstd_chirality',                  format='str') 
 81          self.add(key='NstdLinkage',                     var_name='nstd_linkage',                    format='str') 
 82          self.add(key='NonpolymerCompID',                var_name='nonpolymer_comp_id',              format='str') 
 83          self.add(key='NonpolymerCompLabel',             var_name='nonpolymer_comp_label',           format='str') 
 84          self.add(key='NumberOfMonomers',                var_name='number_of_monomers',              format='int') 
 85          self.add(key='NumberOfNonpolymerComponents',    var_name='number_of_nonpolymer_components', format='int') 
 86          self.add(key='Paramagnetic',                    var_name='paramagnetic',                    format='str') 
 87          self.add(key='ThiolState',                      var_name='thiol_state',                     format='str') 
 88          self.add(key='SrcMethod',                       var_name='src_method',                      format='str') 
 89          self.add(key='ParentEntityID',                  var_name='parent_entity_id',                format='int') 
 90          self.add(key='Fragment',                        var_name='fragment',                        format='str') 
 91          self.add(key='Mutation',                        var_name='mutation',                        format='str') 
 92          self.add(key='ECNumber',                        var_name='ec_number',                       format='str') 
 93          self.add(key='CalcIsoelectricPoint',            var_name='calc_isoelectric_point',          format='float') 
 94          self.add(key='FormulaWeight',                   var_name='molecular_weight',                format='float') 
 95          self.add(key='FormulaWeightExptl',              var_name='molecular_weight_exptl',          format='float') 
 96          self.add(key='FormulaWeightExptlMeth',          var_name='molecular_weight_exptl_meth',     format='str') 
 97          self.add(key='Details',                         var_name='details',                         format='str') 
 98          self.add(key='DBQueryDate',                     var_name='db_query_date',                   format='str') 
 99          self.add(key='DBQueryRevisedLastDate',          var_name='db_query_revised_last_date',      format='str') 
  100   
101   
102   
104      """Base class for the EntityCompIndex tag category.""" 
105   
107          """Setup the Entity tag category. 
108   
109          @param sf:  The saveframe object. 
110          @type sf:   saveframe instance 
111          """ 
112   
113           
114          super(EntityCompIndex, self).__init__(sf) 
115   
116           
117          self.add(key='EntityCompIndexID',   var_name='res_nums',    format='int') 
118          self.add(key='AuthSeqID',           var_name='seq_nums',    format='str') 
119          self.add(key='CompID',              var_name='res_names',   format='str') 
120          self.add(key='CompLabel',           var_name='chem_comp',   format='str') 
121          self.add(key='EntityID',            var_name='count_str',   format='int') 
  122