code: def is_empty(bam_file):
      
      bam_file = objectstore.cl_input(bam_file)
      cmd = ("set -o pipefail; "
             "samtools view {bam_file} | head -1 | wc -l")
      p = subprocess.Popen(cmd.format(**locals()), shell=True,
                           executable=do.find_bash(),
                           stdout=subprocess.PIPE, stderr=subprocess.PIPE,
                           preexec_fn=lambda: signal.signal(signal.SIGPIPE, signal.SIG_DFL))
      stdout, stderr = p.communicate()
      stdout = stdout.decode()
      stderr = stderr.decode()
      if ((p.returncode == 0 or p.returncode == 141) and
           (stderr == "" or (stderr.startswith("gof3r") and stderr.endswith("broken pipe")))):
          return int(stdout) == 0
      else:
          raise ValueError("Failed to check empty status of BAM file: %s" % str(stderr))
docs: Determine if a BAM file is empty