Skip to content

Version 1.3 release preparation#284

Merged
taimontgomery merged 18 commits intomasterfrom
issue-283
Mar 1, 2023
Merged

Version 1.3 release preparation#284
taimontgomery merged 18 commits intomasterfrom
issue-283

Conversation

@AlexTate
Copy link
Member

@AlexTate AlexTate commented Feb 27, 2023

Documentation:

  • Sequence-based counting and overlap shift parameters have been added in tiny-count.md
  • Stage 1 selection description has been cleaned up in tiny-count.md
  • The Features Sheet section has been cleaned up in Configuration.md

Workflow:

  • New bowtie option: -m for providing the drop threshold for reads with too many alignments
  • The CWL for bowtie's CommandLineTool and its step in the CWL Workflow now lists its parameters in the same order they occur in bowtie's help string

Run Config:

  • Comment lines now indicate the descriptive argument flag that each option corresponds to in the bowtie section

tiny-plot:

  • The "%" character has been removed from tick labels in class_charts and rule_charts

Bug fixes:

  • Incorrect or otherwise risky uses of dict.get(key) and dict.get(key, default) have been corrected. False logical paths for these instances are mostly rare (things like users deleting expected keys or changing their type, or features with a Parent= tag that is missing a value), or were otherwise in harmless code sections (empty run_name in the Run Config). These bugs would have triggered an exception shortly after so there is no concern about compromised accuracy.
  • The PathsFile class now checks to make sure all expected keys are present as a backward compatibility check

…lt).

If the KEY exists then:
- .get(key) will return its value, otherwise None
- .get(key, default) will return its value, otherwise default

What these methods DON'T do is change based on the VALUE. They don't return None/default if the value is None, '', or otherwise evaluates to False in a boolean context. It seems I've beem assuming the opposite. Embarrassing.

Fortunately all of these corrections are for very unlikely cases (things like users deleting expected keys or changing their type, or features with a Parent= tag that is missing a value). The most likely case is when setting the default value for Run Config's `run_name`, which is pretty harmless.
… missing keys in the PathsFile class. Adding this to check_backward_compatibility()
In the Run Config bowtie section:
- Comment lines for each key now have the descriptive command line option indicated

In the CWL for bowtie:
- The names for aligned and unaligned sequence files are now determined within the CommandLineTool CWL which cleans up the Workflow CWL and is consistent with the approach for stdout/stderr file naming
- The `logfile` input was removed because it isn't used
- The ordering of command line options is now consistent with their order in the bowtie help string
…. The Stage 1 section has been cleaned up a bit. Some sections which were specific to Stage 1 now describe features that are used across the Features Sheet, so this content has been moved to the Features Sheet section in Configuration.md. Selector formats have also been updated in the Stage 3 section.
…nstead of providing another summary of the selection process, I'm instead using this space to focus on the file itself which I think is more appropriate. I've added a table to indicate which selectors support things like wildcards and lists.
…nstead of providing another summary of the selection process, I'm instead using this space to focus on the file itself which I think is more appropriate. I've added a table to indicate which selectors support things like wildcards and lists.
… `run_directory` key is actually for the suffix of the final output directory name, and that it is optional. Also adding a small correction to ensure that subdirectory structure is preserved if it is present in `run_directory`
- GFF files are optional
- Workaround solution for experiments with more than one control condition
- Normalization constants in Samples Sheet can be used for spike-in normalization
…onfiguration.md, and it is more appropriate there. Removing this sentence for being redundant and having misleading context
@AlexTate
Copy link
Member Author

More updates:

  • Documentation and config file comments have been updated to specify that the run_directory key is actually for the suffix of the final output directory name, and that it is optional. Also adding a small correction to ensure that subdirectory structure is preserved if it is present in run_directory
  • Updates to Configuration.md:
    • GFF files are optional
    • Workaround solution for experiments with more than one control condition
    • Normalization constants in Samples Sheet can be used for spike-in normalization

@AlexTate
Copy link
Member Author

More updates:

  • The workflow diagram's legend has been modified and the legend of the anchored overlap selector has been corrected
  • Broken links in tiny-plot.md have been fixed
  • The description of pipeline resume runs has been brought up to date
  • Rephrased description of the sequence-based counting mode

@taimontgomery
Copy link
Collaborator

A couple minor issues:

  1. paths.yml, line 26: no value for run_directory raises exception.
  2. run_config.yml, line 20: can we leave user blank?

AlexTate added 2 commits March 1, 2023 10:05
…bust for a wider variety of inputs. The user might omit the value (resulting in None rather than an empty string), or the user might want to use integer values (0 being particularly tricky) for these settings. Both of these cases would previously result in unexpected behavior.

Changes to Configuration constructor arguments:
- Added skip_setup which minimally loads the Run Config and the settings from Paths File and stops. Useful for testing.
- Renamed validate_inputs to validate_gffs. Previous value was misleading; validation of the Paths File and Samples Sheet was still being performed when validate_inputs=False, and we don't have a use case for making the behavior consistent for those files.
@AlexTate
Copy link
Member Author

AlexTate commented Mar 1, 2023

  1. paths.yml, line 26: no value for run_directory raises exception.

Thanks for catching that, I made those changes too hastily and neglected to test because it seemed so straightforward. I've addressed this bug, wrote some test cases for it, and addressed a couple of other edge cases. Users can provide empty values, empty strings, and integers in user, run_name, and run_directory now.

  1. run_config.yml, line 20: can we leave user blank?

Addressed in b8d51be

@taimontgomery taimontgomery merged commit 4f70d90 into master Mar 1, 2023
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.

2 participants