#!/usr/bin/env python
"""Display the SeqFeatures produced by the parser.
 
This produces a ton of output so it is possible to hand check what is
produced by the parser with the original GenBank file to make sure
everything is being parsed and output properly.
 
Usage:
./check_output.py <GenBank file to parse>
 
"""
# standard library
from __future__ import print_function
 
import sys
 
# GenBank stuff to test
from Bio import GenBank
 
if len(sys.argv) != 2:
    print("Usage ./check_output.py <GenBank file to parse>")
    sys.exit()
 
parser = GenBank.FeatureParser(debug_level=2)
 
handle = open(sys.argv[1], 'r')
 
iterator = GenBank.Iterator(handle, parser)
 
while True:
    cur_record = next(iterator)
 
    if not(cur_record):
        break
 
    print("***Record")
    print("Seq: %s" % cur_record.seq)
    print("Id: %s" % cur_record.id)
    print("Name: %s" % cur_record.name)
    print("Description: %s" % cur_record.description)
    print("Annotations****")
    for annotation_key in cur_record.annotations:
        if annotation_key != 'references':
            print("Key: %s" % annotation_key)
            print("Value: %s" % cur_record.annotations[annotation_key])
        else:
            print("References*")
            for reference in cur_record.annotations[annotation_key]:
                print(str(reference))
    print("Feaures")
    for feature in cur_record.features:
        print(feature)
 
handle.close()