docs: def features(self):
          """list: Get the features from the feature file, metadata file, or in memory"""
          if self.feature_file:
              log.debug('{}: reading features from feature file {}'.format(self.id, self.feature_path))
              with open(self.feature_path) as handle:
                  feats = list(GFF.parse(handle))
                  if len(feats) > 1:
                      log.warning('Too many sequences in GFF')
                  else:
                      return feats[0].features
  
          elif self.metadata_file:
              log.debug('{}: reading features from metadata file {}'.format(self.id, self.metadata_path))
              tmp_sr = SeqIO.read(self.metadata_path, 'uniprot-xml')
              return tmp_sr.features
  
          else:
              return self._features