Taxon handling extended to allow any NCBI taxon rank as a header, with the exception of clade and no rank, which have no consistent placement in the ranking and can be duplicated in the hierarchy.
The NCBIValidator is extended to contain an ordered list of those ranks, which is used to order tuples of provided rank information, along with exhaustive lists of valid kingdom and superkingdom names.
Those lists are used to handle the of commonplace Kingdom to Superkingdom label promotion issue at the NCBITaxa worksheet level: tackling individual rows. The NCBIValidator now does not need to attempt to handle this condition and so validates standard NCBI ranks.
Adds ability to flag a leaf taxon as new, which gets it added to the taxon index with a validated parent.
Restructure of NCBIValidator functionality to break out reused code into some private methods/static methods.
A couple of functions now raise errors rather than returning None on error, so are handled with try blocks.
The flow is basically unchanged, so hopefully it isn't too hard to follow the fairly big changes!
Note - I haven't updated the docs to match yet, in case it is all wrong.
Turned out to be a lot more involved!
NCBIValidator
is extended to contain an ordered list of those ranks, which is used to order tuples of provided rank information, along with exhaustive lists of valid kingdom and superkingdom names.NCBITaxa
worksheet level: tackling individual rows. TheNCBIValidator
now does not need to attempt to handle this condition and so validates standard NCBI ranks.NCBIValidator
functionality to break out reused code into some private methods/static methods.try
blocks.The flow is basically unchanged, so hopefully it isn't too hard to follow the fairly big changes!
Note - I haven't updated the docs to match yet, in case it is all wrong.
Closes #78