#!/usr/bin/env python

import sys
import argparse

parser = argparse.ArgumentParser(description='This script is for making sure the user-specified desired lineage info is interpretable.')

required = parser.add_argument_group('required arguments')

required.add_argument("-w", "--wanted_ranks", help="Single-column file with wanted ranks", action="store", dest="wanted_ranks", required=True)
parser.add_argument("-o", "--output_file_with_uninterpretable_ranks", help='Output file default: "gtotree.uninterpretable_ranks.tmp"', action="store", dest="output_file", default="gtotree.uninterpretable_ranks.tmp")

if len(sys.argv)==1:
  parser.print_help(sys.stderr)
  sys.exit(0)

args = parser.parse_args()

out_file = open(args.output_file, "w")

acceptable_ranks = ["domain","phylum","class","order","family","genus","species","strain"]

with open(args.wanted_ranks, "r") as wanted_ranks:
  for line in wanted_ranks:
    curr_line = line.strip()
    lower_line = curr_line.lower()

    if lower_line not in acceptable_ranks:
      out_file.write(str(curr_line) + "\n")

out_file.close()
