Skip to content

tiny-plot: inclusive/exclusive filters for classes in DGE scatter plots#264

Merged
taimontgomery merged 14 commits intomasterfrom
issue-262
Dec 18, 2022
Merged

tiny-plot: inclusive/exclusive filters for classes in DGE scatter plots#264
taimontgomery merged 14 commits intomasterfrom
issue-262

Conversation

@AlexTate
Copy link
Member

@AlexTate AlexTate commented Dec 12, 2022

This PR introduces functionality which allows users to specify classes that they want included or excluded in class DGE scatter plots. Inclusive/exclusive filtering is mutually exclusive (only one style can be chosen). Filtering takes place before subsetting features by P value, so it applies to non-differentially expressed features as well.

Additionally, the treatment condition is now listed first in the "ConditionA vs ConditionB" title of scatter_by_dge and scatter_by_dge_class plots

Remaining tasks:

  • Update documentation
  • Clean up docstrings and remove unused draft code from plotter.py
  • Update remaining copies of Run Config files

Closes #262

… class filtering. These are mutually exclusive arguments. Class filters are applied before subsetting points by P value. scatter_by_dge and scatter_by_dge_class are now separate functions
…t users can change filters between resume runs
…s in scatter_dge_class plots now that the counts index includes the classifier. I had kept this in earlier changes for the sake of allowing the interface to be changed. After some thought I think the net benefit of doing so isn't worth it
…ull handling case for scatter_by_dge to handle the edge case of a single None list element. Honestly, the later is fairly unlikely. The former is very likely with the new class filtering option
…dge_class can handle empty dataframe inputs for counts and dge values. Really this is only a concern with scatter_by_dge_class due to the new filters, but thought it was wise to include similar checks for scatter_by_dge
…t to be consistent with other filters in the project (e.g. GFF source and type filters)
@AlexTate AlexTate marked this pull request as ready for review December 16, 2022 17:40
…s and filters are case-insensitive in the project, so this makes sense for consistency and user-friendliness
…2.1 Run Configs (eek). Also added a fix (which I could have sworn I included earlier) that ensures the class list doesn't turn into a YAML anchor in the processed run config. Otherwise, it would still work for editing between replots but might be confusing to the user. This is an exciting feature though and I had only ever tried using it in CWL workflows, which was rejected by cwltool at the time. Keeping an eye out for use cases for this feature.
@AlexTate
Copy link
Member Author

Update 12/17:

  • Class filters are now case-insensitive
  • tiny-config was retrieving the filter group from Run Config without proper safeguards. This has been fixed so that pre-v1.2.1 Run Configs can still be used

@taimontgomery
Copy link
Collaborator

Tested run and recount with Lib303 dataset with various classes excluded or included.

@taimontgomery taimontgomery merged commit 3a80a67 into master Dec 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

tiny-plot: add options for specify the classes included in scatter_dge_class plots

2 participants