Comments (4)
Thanks for bringing that up, @gregcaporaso. Yeah, I was not sure how to go about this initially and your guess is correct: I felt like leaving those undefined and letting the tools themselves pick the default values. I was not so much concerned with the text becoming outdated as I thought that on a tool version update one would need to review the text anyways to see whether anything else changed (to keep the q2 help in-line with the underlying tool) - under this assumption I'd need to review something somewhere anyway... However, your provenance argument absolutely speaks to me much more - I'll update that in another PR. Thanks! 🙏
from q2-assembly.
on a tool version update one would need to review the text anyways
That's definitely a reasonable assumption and good practice, but in my experience these things have a way of getting out of date. For example, if someone else takes over maintenance of the plugin in the future, they may not be fully aware of where all the changes need to be made.
from q2-assembly.
how should we handle the presets
param in megahit
? This overrides a group of params to provide some generic settings. This sounds useful, but at the same time is bad news for provenance if you are passing params (and recording them in provenance) that are actually ignored. From the megahit docs:
Presets parameters:
--presets <str> override a group of parameters;
possible values:
meta '--min-count 2 --k-list 21,41,61,81,99'
(generic metagenomes, default)
meta-sensitive '--min-count 2 --k-list 21,31,41,51,61,71,81,91,99'
(more sensitive but slower)
meta-large '--min-count 2 --k-list 27,37,47,57,67,77,87'
(large & complex metagenomes, like soil)
bulk '--min-count 3 --k-list 31,51,71,91,99 --no-mercy'
(experimental, standard bulk sequencing with >= 30x depth)
single-cell '--min-count 3 --k-list 21,33,55,77,99,121 --merge_level 20,0.96'
(experimental, single cell data)
The options I see:
- status quo: we leave it and set the default as
None
- we remove this option altogether
- we keep it but raise an error when it overrides a parameter that is also explicitly set (which would be almost always)
Is there any way to edit provenance? So, e.g., if a preset is passed then the preset values get written into provenance instead of the param setting that was passed?
Maybe I am being overly alarmist because, after all, the preset would also be written to provenance so the effect is reproducible... but it just seems misleading.
EDIT: for now I am going with "option 3" in #43 , i.e., to warn whenever the presets parameter is used. But it would be interesting to know if we can overwrite provenance to write in the presets.
from q2-assembly.
@nbokulich, I agree with the approach you're taking now, and that it would be good to better support this type of situation in the future.
from q2-assembly.
Related Issues (20)
- default values for number of CPU threads HOT 1
- Enable multiprocessing in `evaluate-contigs` HOT 1
- Expose more QUAST parameters
- `evaluate-contigs` should accept reference seqs
- outdated help text on evaluate-contigs HOT 1
- invalid sample name assumption causes failure in `evaluate-contigs`
- `evaluate-contigs` fails with `OSError: [Errno 28] No space left on device` HOT 8
- `evaluate-contigs` fails on the most recent QUAST version
- expose additional visualizations generated by QUAST in the `evaluate-contigs` visualization
- MAINT: ensure that input names are consistent across actions
- BUG: `index-contigs` fails if any input files are empty HOT 4
- Cannot download some files from the `evaluate-contigs` qzv
- update help text for `assemble-spades --p-meta` HOT 3
- BUG: `assembly assemble-spades` auto-detection of phred-offset error
- BUG: index-contigs collects only .fa files
- BUG: action `generate-reads` is missing the `pysam` dependency HOT 3
- Update help text for `assemble-spades --p-threads --p-memory`
- BUG: Download buttons for the `assembly evaluate-contigs` visualization not producing PDFs, etc.. HOT 2
- BUG: `MultiMAGSequencesDirFmt` does not have a manifest in `index_mags`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from q2-assembly.