code: def apply_catboost(
      model_file,
      pool_path,
      cd_path,
      eval_file,
      output_columns=None,
      has_header=False,
      args=None,
  ):
      calc_cmd = (
          get_catboost_binary_path(),
          "calc",
          "--input-path",
          pool_path,
          "-m",
          model_file,
          "--output-path",
          eval_file,
          "--prediction-type",
          "RawFormulaVal",
      )
      if cd_path:
          calc_cmd += ("--column-description", cd_path)
      if output_columns:
          calc_cmd += ("--output-columns", ",".join(output_columns))
      if has_header:
          calc_cmd += ("--has-header",)
      if args:
          calc_cmd += tuple(args.strip().split())
  
      yatest.common.execute(calc_cmd)
  
imports: import os
  import pytest
  import re
  import sys
  import tempfile
  import time
  from .common_helpers import *
  import zipfile
  from testpath.tempdir import TemporaryDirectory
  import yatest.common.network
label_desc: Use image node_id 7 for calling a global function with example usage: apply_catboost(model_file, pool_path, cd_path, eval_file, output_columns, has_header, args) without return types