code: def run(itf):
      
  
      if not itf:
          return 1
  
      # access command-line arguments
      options = SplitInput(itf)
  
      # read input
      infile = os.path.abspath(options.input)
      molList = read_csv(infile, options)
  
      # split molList into actives and decoys
      activeList, decoyList = partition(molList, options)
  
      # split actives and decoys into training and validation sets
      trainset, valset = split(activeList, decoyList, options)
  
      # write csv files formatted for ensemble builder
      csv_writer(trainset, options, 'training_set')
      csv_writer(valset, options, 'test_set')
docs: Run preprocess functions