@jrrideout Do you think there is anything else outstanding besides this and the name for the package? Sorry, I added some more accessors that are method extensions to standard R functions, `ncol`, `nrow`, `colnames`, `rownames`. I also integrated these into some of the validity methods and unit tests for readability. Knowing that a biom object has at least one table lurking inside it and an overall rows/columns formal definition, these 4 functions are likely to be on the tips of R users' fingers, so I thought it best to add them. Doesn't take away from your previous review. 

If the accessors code looks slightly more complicated, it's because I also took the liberty of converting most of the functions to formally-defined S4 methods. All this really wins for us in the short-term is that the input has its class automatically checked, whereas before any old mangled list that happened to have a few correctly-named keys would have been handled by the accessor functions, likely resulting in confusing errors. That's all handled by core R stuff now. They require a valid "biom" class as input, and will tell you if that isn't the case. In the longer-run, this change also wins for us a lot of standard OOP gains in maintainability, where slight tweaks for new subclasses are compartmentalized and shouldn't disrupt other behavior.

After the commits today I will probably hold off on other changes until I hear about the name changes. The package name itself should be a very quick deal, but still something we should all feel good about before sending to CRAN.

Thanks again, I'm looking forward to getting this out.