def get_scenfit(instance, OS, FP, FC, EP):
  '''returns the scenfit of data and model described by the
  ``TermSet`` object [instance].
  '''
  sem = [sign_cons_prg, bwd_prop_prg]
  if OS : sem.append(one_state_prg)
  if FP : sem.append(fwd_prop_prg)
  if FC : sem.append(founded_prg)
  if EP : sem.append(elem_path_prg)


  inst     = instance.to_file()
  prg      = sem + scenfit + [inst]
  coptions = '--opt-strategy=5'
  solver   = GringoClasp(clasp_options=coptions)
  solution = solver.run(prg,collapseTerms=True,collapseAtoms=False)
  opt      = solution[0].score[0]

  os.unlink(inst)
  return opt