Modularized the existing script
Caching few queries for speed
Added data check for each annotation
Caching queries for required identifiers
Added reading and updating code
Added pruning within transaction scope
Added a few debugging lines
Added error handling if pub_id not present
Ignoring gaf files
Added limit attribute for debugging
Added error handling for GO & EV code
Added method to get dbxref ids
Added handling of multiple dbxrefs in with field
Added dbxrefs attribute. Parsing dbxrefs on read
Added handling secondary publications references
Generation of dbxref_id if not found
Caching db & dbxref using HashRef, creating new ones if not present
Added caching for feature & GO cvterm
Trying caching all features for speed
Caching evidence codes & references