Add pixy wrapper - #8265
Conversation
- Supports all pixy stats: pi, dxy, fst (WC & Hudson), Watterson's theta, Tajima's D - Windowing via fixed size or BED file - Chromosome/interval filtering, sites file, chunk size - FST options: fst_type, fst_components, fst_biallelic (guarded behind fst selection) - Callable sites via wisp BED, GVCF mode, bypass invariant check - 5 tests covering: Hudson FST (haploid), watterson+tajima, BED windowing, chromosome/interval filtering, WC FST (diploid) - Test data from official pixy repo (haploid) and Ag1000G subset (diploid) - detect_errors=aggressive, no stdio block - htslib dependency for tabix
There was a problem hiding this comment.
The if should nor be needed,. Should we have the index always? What about just link || true?
There was a problem hiding this comment.
If htslib is needed should that be part of the package.
There was a problem hiding this comment.
i mean yea probably but i hadnt tracked it down yet. i just saw it wasnt in bioconda and decided i needed to go to sleep and it could be future danielles problem. i guess im future danielle though lol
There was a problem hiding this comment.
There was a problem hiding this comment.
ooooooh. htslib IS bioconda and the dep goes the opposite way, i get it now. so actually idk conda-forge well enough to know what makes sense in that case
There was a problem hiding this comment.
| --n_cores "\${GALAXY_SLOTS:-1}" |
There was a problem hiding this comment.
The Boolean trick... You don't need an if
There was a problem hiding this comment.
Are those file not always created?
There was a problem hiding this comment.
sort of, depends what stats you select. but theres a weird edge case where you can select wc fst and if you send haploid data itll just not produce the file. itll put a message about it to stderr but still exit 0. was trying to replicate that behavior. can switch to not use the if etc, but then gxy might err? idk quite
There was a problem hiding this comment.
error might be less confusing in this case even, in gxy context, than just not having the file and a message buried in stderr.
There was a problem hiding this comment.
Since the path is predictable you could use from_work_dir and remove this entire block
There was a problem hiding this comment.
Not sure if we need to offer this option. If we want to just on the CLI with an ENV that an admin can overwrite?
There was a problem hiding this comment.
Maybe you can use from_work_dir here?
There was a problem hiding this comment.
This can be done with cheetah .. something like
#for $s in $stats
$s
#end for
or maybe even on a single line using #echo
There was a problem hiding this comment.
I would prefer standard labels ${tool.name} on ${on_string}: ...
FOR CONTRIBUTOR:
There are two labels that allow to ignore specific (false positive) tool linter errors:
skip-version-check: Use it if only a subset of the tools has been updated in a suite.skip-url-check: Use it if github CI sees 403 errors, but the URLs work.To request a review once your PR is ready, comment "please review" on the PR. This will
automatically apply the
ready-for-reviewlabel if the PR is not a draft, all reviewthreads are resolved, and all CI checks have passed.