Closed jett-crowdis closed 4 years ago
Your helper functions are currenltly not class methods, which are methods that do not have access to instances (self). Class methods have access only to the class, and there are also static methods that have no access to the class. Since you do not need access to self, you can use the classmethod
decorator to actually make your helper functions class methods.
Pull request to merge all the comut code into master.
Examples are now contained within
quickstart.ipynb
, which contains a small amount of code that users can quickly edit to generate basic comuts.tutorial.ipynb
has been updated to include the melanoma example at the end.I would like high level feedback on the following:
Function scoping - Currently all the functions are class methods (ie require self), even though some of the helper functions don't use self. What is the best way to define and call these functions within the class? Originally I had them outside the class, but then they are user accessible and there's no reason for people to need them there.
Anything you think CoMut should be handling that is currently handled by the users.
Any additional functionality you think CoMut should have
The default color maps. Currently, I use vivid_10 as the default if the number of categories is less than 10, tab20 if 10 < categories < 20, and hsv broken up into discrete units otherwise. Do you have any thoughts on this?
General thoughts on what should be private vs. public. Users only use three of the class's attributes (axes, figure, and samples), and they only reference functions that add data (add_xxx_data), plot_comut, and the legend functions. Should all others be private?
I'm currently looking into how to make this package pip installable. Presumably
mafparser.py
needs to be included within the package as well.