Closed AlexTate closed 2 years ago
Marking this PR as a draft.
As can be seen in the current plot for lengths 20-30, there is more work that needs to be done in properly subsetting the range while maintaining the original proportions. There is also room for improvement in the implementation of the new xtick label crowding mitigation
The above concerns have been addressed. PR is ready to be merged. Below is the corrected plot for lengths 20-30 which now shows correct proportions:
Improvements and options have been added for managing len_dist plot bounds. On the command line the min and/or max (first/last) lengths can be optionally specified with:
If either is unspecified, the unspecified bound is determined from the data's bounds on a per-subtype basis (i.e. the "Mapped" subtype bounds are determined separately from the "Assigned" subtype). Bounds, whether calculated or specified, are fixed across all plots for each subtype.
Run Config entries have been added for user specification:
plot_len_dist_min
plot_len_dist_max
If either of these values are unassigned, the workflow will first fall back to the corresponding entries for fastp (
length_required
andlength_limit
). These fastp values are also optional, so if they too are unspecified, then the workflow will not pass corresponding values on the command line and Plotter will default to determining bounds as described above.Additionally:
xtick.labelsize
in the stylesheet), then the default is used. If the calculated size is less than the min_size (which I chose to be 5 points), then the min_size will be used and a warning will be printed (this should be rare as it requires an exceptionally wide min/max delta)The following demonstrates the new xtick label crowding mitigation (NOTE: see lower comments on this PR; the first plot is inaccurate):
Closes #191