docs: def _pare_down_model(self, strain_gempro, genes_to_remove):
          """Mark genes as non-functional in a GEM-PRO. If there is a COBRApy model associated with it, the
              COBRApy method delete_model_genes is utilized to delete genes.
  
          Args:
              strain_gempro (GEMPRO): GEMPRO object
              genes_to_remove (list): List of gene IDs to remove from the model
  
          """
          # Filter out genes in genes_to_remove which do not show up in the model
          strain_genes = [x.id for x in strain_gempro.genes]
          genes_to_remove.extend(self.missing_in_orthology_matrix)
          genes_to_remove = list(set(genes_to_remove).intersection(set(strain_genes)))
  
          if len(genes_to_remove) == 0:
              log.info('{}: no genes marked non-functional'.format(strain_gempro.id))
              return
          else:
              log.debug('{}: {} genes to be marked non-functional'.format(strain_gempro.id, len(genes_to_remove)))
  
          # If a COBRApy model exists, utilize the delete_model_genes method
          if strain_gempro.model:
              strain_gempro.model._trimmed = False
              strain_gempro.model._trimmed_genes = []
              strain_gempro.model._trimmed_reactions = {}
  
              # Delete genes!
              cobra.manipulation.delete_model_genes(strain_gempro.model, genes_to_remove)
  
              if strain_gempro.model._trimmed:
                  log.info('{}: marked {} genes as non-functional, '
                           'deactivating {} reactions'.format(strain_gempro.id, len(strain_gempro.model._trimmed_genes),
                                                              len(strain_gempro.model._trimmed_reactions)))
          # Otherwise, just mark the genes as non-functional
          else:
              for g in genes_to_remove:
                  strain_gempro.genes.get_by_id(g).functional = False
              log.info('{}: marked {} genes as non-functional'.format(strain_gempro.id, len(genes_to_remove)))