I propose to create a group of cooltools CLI commands called "report" (the name is up to debate). This group will host various "secondary" CLI commands that take the results of "primary" cooltools and create various plots, reports and summary statistics.
Examples:
- plot saddle plots
- plot scalings
- plot compartmentalization vs distance (by @jnuebler )
- plot insulation score statistics (that's the one I'm going to implement first)
Pros:
- unleashes the contribution of codes for "reporting". The practice of biological data analysis requires lots of plots and summaries; currently, cooltools hosts very little such code, partially, b/c it's not clear where to put it.
- separates "conservative" and "experimental" codes. Plotting is inherently messy, poorly defined and user-dependent. On the other hand, the code for calculation of "primary" scores must be stable (ideally, not change at all) and well-defined. Mixing the two creates various opportunities for confusion.
- simplifies API. Again, since reporting/plotting is so flexible and poorly defined, it naturally requires lots of extra arguments (e.g. see the CLI for cooltools compute-saddle). Separating CLI for calculations and plotting is a very natural way to simplify both.
Cons:
@nvictus @sergpolly @gfudenberg @Phlya @itsameercat @mimakaev
I propose to create a group of cooltools CLI commands called "report" (the name is up to debate). This group will host various "secondary" CLI commands that take the results of "primary" cooltools and create various plots, reports and summary statistics.
Examples:
Pros:
Cons:
@nvictus @sergpolly @gfudenberg @Phlya @itsameercat @mimakaev