code: def _check_args(args):
      
      logger.info("Checking parameters and files")
      args.dir_out = args.out
      args.samplename = "pro"
      global decision_cluster
      global similar
      if not os.path.isdir(args.out):
          logger.warning("the output folder doens't exists")
          os.mkdirs(args.out)
      if args.bed and args.gtf:
          logger.error("cannot provide -b and -g at the same time")
          raise SyntaxError
      if args.debug:
          logger.info("DEBUG messages will be showed in file.")
      if args.bed:
          args.list_files = args.bed
          args.type_ann = "bed"
      if args.gtf:
          args.list_files = args.gtf
          args.type_ann = "gtf"
      logger.info("Output dir will be: %s" % args.dir_out)
      if not all([file_exists(args.ffile), file_exists(args.afile)]):
          logger.error("I/O error: Seqs.ma or Seqs.bam. ")
          raise IOError("Seqs.ma or/and Seqs.bam doesn't exists.")
      if hasattr(args, 'list_files'):
          beds = args.list_files.split(",")
          for filebed in beds:
              if not file_exists(filebed):
                  logger.error("I/O error: {0}".format(filebed))
                  raise IOError("%s  annotation files doesn't exist" % filebed)
      param.decision_cluster = args.method
      if args.similar:
          param.similar = float(args.similar)
      if args.min_seqs:
          param.min_seqs = int(args.min_seqs)
      return args
docs: check arguments before starting analysis.