code: def bcftools_filter_cmd(
      vcf_path, vcf_outpath, dp_filter, qual_filter
  ):
      """
      python wrapper to run bcftools filter from command line in parallel
      """
      cmd = (
          """/opt/bcftools-1.15.1/bcftools filter -e '(FORMAT/DP<{dp_filter}&QUAL=".")|(QUAL>=0&GT="0|0")|(QUAL>=0&GT="0/0")|QUAL<{qual_filter}' -O z -o {vcf_outpath} {vcf_path} && /opt/htslib-1.15.1/tabix -f {vcf_outpath} """
      ).format(
          vcf_path=vcf_path,
          vcf_outpath=vcf_outpath,
          dp_filter=dp_filter,
          qual_filter=qual_filter,
      )
      proc = subprocess.Popen(
          cmd,
          stdout=subprocess.PIPE,
          stderr=subprocess.PIPE,
          shell=True,
      )
      s_output, s_err = proc.communicate()
      s_return = proc.returncode
      assert s_return == 0, (
          "Could not filter vcf files"
          + str(s_output)
          + "\n"
          + str(s_err)
      )
      return s_return, s_output, s_err
  
imports: import pyspark.sql.functions
  import subprocess
  import time
  import pytz
  from datetime import datetime
label_desc: Use image node_id 1 for calling a global function with example usage: bcftools_filter_cmd(vcf_path, vcf_outpath, dp_filter, qual_filter) and returns: s_return,  s_output,  s_err