code: def check_options_are_valid(options):
      """Checks that all the options chosen make sense together."""
  
      # Check for general flags (shared for DeepVariant and DeepTrio).
      make_examples_options.check_options_are_valid(
          options, main_sample_index=MAIN_SAMPLE_INDEX
      )
  
      main_sample = options.sample_options[MAIN_SAMPLE_INDEX]
      if (
          options.mode
          == deepvariant_pb2.MakeExamplesOptions.CANDIDATE_SWEEP
          and main_sample.candidate_positions is None
      ):
          errors.log_and_raise(
              "--candidate_positions is required when --positions_sweep is set."
          )
      if (
          options.mode
          == deepvariant_pb2.MakeExamplesOptions.CANDIDATE_SWEEP
          and main_sample.proposed_variants_filename
      ):
          errors.log_and_raise(
              "--positions_sweep_mode is incompatible with --proposed_variants"
          )
      if (
          main_sample.candidate_positions
          and main_sample.proposed_variants_filename
      ):
          errors.log_and_raise(
              "--candidate_positions is incompatible with --proposed_variants"
          )
  
file_path: deepvariant/deepvariant/make_examples.py
imports: import os
  from absl import app
  from absl import flags
  from deepvariant import dv_constants
  from deepvariant import logging_level
  from deepvariant import make_examples_core
  from deepvariant import make_examples_options
  from deepvariant.protos import deepvariant_pb2
  from third_party.nucleus.io.python import hts_verbose
  from third_party.nucleus.util import errors
  from third_party.nucleus.util import proto_utils
label_desc: Use image node_id 3 for calling a global function with example usage: check_options_are_valid(options) without return types