code: def add_pfba(model, objective=None, fraction_of_optimum=1.0):
      
      if objective is not None:
          model.objective = objective
      if model.solver.objective.name == '_pfba_objective':
          raise ValueError('The model already has a pFBA objective.')
      sutil.fix_objective_as_constraint(model, fraction=fraction_of_optimum)
      reaction_variables = ((rxn.forward_variable, rxn.reverse_variable)
                            for rxn in model.reactions)
      variables = chain(*reaction_variables)
      model.objective = model.problem.Objective(
          Zero, direction='min', sloppy=True, name="_pfba_objective")
      model.objective.set_linear_coefficients({v: 1.0 for v in variables})
docs: Add pFBA objective
  
      Add objective to minimize the summed flux of all reactions to the
      current objective.
  
      See Also
      -------
      pfba
  
      Parameters
      ----------
      model : cobra.Model
          The model to add the objective to
      objective :
          An objective to set in combination with the pFBA objective.
      fraction_of_optimum : float
          Fraction of optimum which must be maintained. The original objective
          reaction is constrained to be greater than maximal_value *
          fraction_of_optimum.