#!/usr/bin/env python 

from __future__ import print_function
import sys
import os
import argparse
from pprint import pprint

import protxml2csv

usage = """
Converts TPP proteomics search result XML files into CSV with: 

1) metadata fecthed from http://uniprot.org;
2) intelligent choice of primary accession id;
3) statistics from optional pepxml files.
"""

parser = argparse.ArgumentParser(description=usage)
parser.add_argument(
    'protxml', type=str, nargs='?', help='a TPP protein grouping .prot.xml file')
parser.add_argument(
    'pepxmls', type=str, nargs='*', help='TPP .pep.xml files')
parser.add_argument(
    '--proterror', metavar='proterror', default=0.01,
    type=float, help='protein false-positive-error cutoff, default=0.01')
parser.add_argument(
    '--pepprob', metavar='pepprob', default=0.5,
    type=float, help='peptide probability cutoff, default=0.5')
parser.add_argument(
    '--output', metavar='output', default=None,
    type=float, help='output csv file')
args = parser.parse_args()

if args.protxml is None:
  print(parser.format_help())
  sys.exit(1)

if args.output is None:
  args.output = args.protxml + '.csv'

params = {
  'protxml': args.protxml,
  'pepxmls': args.pepxmls,
  'csv': args.output,
  'protein_error_cutoff': args.proterror,
  'protein_probability_cutoff': None, # or None
  'peptide_probability_cutoff': args.pepprob,
  'peptide_error_cutoff': None, # or None
}
pprint(params)
protxml2csv.convert_to_csv(params)