docs: def run(self):
          """Run charge balance command"""
  
          # Load compound information
          def compound_name(id):
              if id not in self._model.compounds:
                  return id
              return self._model.compounds[id].properties.get('name', id)
  
          # Create a set of excluded reactions
          exclude = set(self._args.exclude)
          count = 0
          unbalanced = 0
          unchecked = 0
          for reaction, charge in charge_balance(self._model):
              count += 1
  
              if reaction.id in exclude or reaction.equation is None:
                  continue
  
              if math.isnan(charge):
                  logger.debug('Not checking reaction {};'
                               ' missing charge'.format(reaction.id))
                  unchecked += 1
              elif abs(charge) > self._args.epsilon:
                  unbalanced += 1
                  rxt = reaction.equation.translated_compounds(compound_name)
                  print('{}\t{}\t{}'.format(reaction.id, charge, rxt))
  
          logger.info('Unbalanced reactions: {}/{}'.format(unbalanced, count))
          logger.info('Unchecked reactions due to missing charge: {}/{}'.format(
              unchecked, count))
          logger.info('Reactions excluded from check: {}/{}'.format(
              len(exclude), count))