docs: def write_strain_functional_genes(self, force_rerun=False):
          """Wrapper function for _write_strain_functional_genes"""
          if len(self.df_orthology_matrix) == 0:
              raise RuntimeError('Empty orthology matrix, please calculate first!')
          ref_functional_genes = [g.id for g in self.reference_gempro.functional_genes]
          log.info('Building strain specific models...')
          result = []
          for s in tqdm(self.strain_ids):
              result.append(self._write_strain_functional_genes(s, ref_functional_genes, self.df_orthology_matrix, force_rerun=force_rerun))
  
          for strain_id, functional_genes in result:
              self.strain_infodict[strain_id]['functional_genes'] = functional_genes