#!/usr/bin/env python3
import argparse
from pathlib import Path

from furious_fastas.fastas import UniprotFastas
from furious_fastas.contaminants import uniprot_contaminants

if __name__ == "__main__":
    parser = argparse.ArgumentParser(description='Reverse a uniprot fasta file and translate it to general ncbi format.')
    parser.add_argument("fasta_file", help="Path to the fasta file.")
    parser.add_argument("-conts",
                        "--contaminants",
                        action='store_const',
                        const=True,
                        default=False,
                        help="Append Tenzer's contaminants.")
    a = parser.parse_args()
    print(a.__dict__)
    fastas = UniprotFastas()
    fasta_file = Path(a.fasta_file)
    fastas.read(fasta_file)
    if a.contaminants:
    	fastas.append(uniprot_contaminants)
    	out_name = fasta_file.stem+'_reversed_contaminated'+fasta_file.suffix
    else:
    	out_name = fasta_file.stem+'_reversed'+fasta_file.suffix
    fastas = fastas.to_ncbi_general()
    fastas.add_reversed_fastas_for_plgs()
    fastas.write(fasta_file.parent/out_name)
    print('Success!')
