Ids class design
moving discussion from email... ping @Daniel-Davies
I'm open to changing how the Ids class is designed. Since taxonomic ids are the input to the higher level tasks (e.g., #53 #52 ) I wonder if there's any way to architect Ids to be used in other classes/methods within the package, e.g., (using current configuration)
x = Ids("name")
x.itis()
# then use to get taxonomic classification
Classification(x)
# or maybe Ids has a classification method that internally uses the Classification class?
x.classification()
I don't know which of the above is more pythonic. OR should it even work that way at all. That is, maybe Ids does not interact with other methods/classes, and methods/classes that take in taxonomic ids simply require user to pass in an ID or list of IDs (see also #58)
As for how Ids is structured, I'm okay with moving to a functional approach where the call to get data from a remote source returns the data rather than storing in the class. I do prefer to keep the names terse, so i'd prefer .itis over .get_itis_ids given that they're methods on a class so there's no conflict with other methods/etc as there could be in R, so something like
Ids.itis("Panthera tigris")
Ids.ncbi("Panthera tigris")
Ids.gbif("Panthera tigris")