-
Notifications
You must be signed in to change notification settings - Fork 205
feat!: Pin wrapper versions in meta-wrappers; add alignoth_report meta-wrapper #4678
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from 35 commits
50ad636
f1a2d96
c1372e9
ae08dd8
efe86a8
30b22ef
f87660c
8c3f917
589ca1c
73474c4
13d92f7
8153920
d86cefb
706c152
ff1639b
7f0cdb8
3b22008
60923ac
4a165b9
9d2b65e
147ad2f
0cea9a9
5dd1f75
928c136
23b45e6
977d157
9bfc274
b197187
823146d
0f04ba8
779ba29
ea7f2a5
13b9176
f921508
204814c
ce6df8a
fd8b6b8
5900daf
bbef664
bae161f
a1df503
24019a5
ebc924a
5b793d2
9707385
9285259
4847c28
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,5 @@ | ||
| name: alignoth_report | ||
| description: Export variants via vembrane and create alignment plots with alignoth for a Datavzrd report. | ||
| authors: | ||
| - Felix Wiegand | ||
| - Felix Mölder | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -0,0 +1,61 @@ | ||||||||||||||||||||||||||||
| import pandas as pd | ||||||||||||||||||||||||||||
coderabbitai[bot] marked this conversation as resolved.
Outdated
Show resolved
Hide resolved
|
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| checkpoint vembrane_table: | ||||||||||||||||||||||||||||
| input: | ||||||||||||||||||||||||||||
| "<results>/{sample}.bcf", | ||||||||||||||||||||||||||||
| output: | ||||||||||||||||||||||||||||
| "<results>/tables/{sample}.tsv" | ||||||||||||||||||||||||||||
| log: | ||||||||||||||||||||||||||||
| "<logs>/vembrane_table/{sample}.log" | ||||||||||||||||||||||||||||
| params: | ||||||||||||||||||||||||||||
| expression="INDEX, CHROM, POS, REF, ALT", | ||||||||||||||||||||||||||||
| extra="" | ||||||||||||||||||||||||||||
| wrapper: | ||||||||||||||||||||||||||||
| "v7.6.1/bio/vembrane/table" | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| rule alignoth: | ||||||||||||||||||||||||||||
| input: | ||||||||||||||||||||||||||||
| bam="<results>/mapped/{sample}.bam", | ||||||||||||||||||||||||||||
| bam_idx="<results>/mapped/{sample}.bam.bai", | ||||||||||||||||||||||||||||
| reference="resources/genome.fa", | ||||||||||||||||||||||||||||
| reference_idx="resources/genome.fa.fai", | ||||||||||||||||||||||||||||
| vcf="<results>/{sample}.bcf", | ||||||||||||||||||||||||||||
| vcf_idx="<results>/{sample}.bcf.csi", | ||||||||||||||||||||||||||||
| overview="<results>/tables/{sample}.tsv" | ||||||||||||||||||||||||||||
| output: | ||||||||||||||||||||||||||||
| directory("<results>/alignoth/{sample}/{index}/") | ||||||||||||||||||||||||||||
| params: | ||||||||||||||||||||||||||||
| extra=lambda wc, input: f"--around-vcf-record {wc.index} -f tsv" | ||||||||||||||||||||||||||||
| log: | ||||||||||||||||||||||||||||
| "<logs>/alignoth/{sample}_{index}.log" | ||||||||||||||||||||||||||||
| wrapper: | ||||||||||||||||||||||||||||
| "v7.9.1/bio/alignoth" | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| rule datavzrd: | ||||||||||||||||||||||||||||
| input: | ||||||||||||||||||||||||||||
| config=workflow.source_path("resources/template.datavzrd.yaml"), | ||||||||||||||||||||||||||||
| overview="<results>/tables/{sample}.tsv", | ||||||||||||||||||||||||||||
| plot_tables=lambda wc: get_alignoth_tables(wc, "<results>") | ||||||||||||||||||||||||||||
| output: | ||||||||||||||||||||||||||||
| report( | ||||||||||||||||||||||||||||
| directory("<results>/datavzrd-report/{sample}"), | ||||||||||||||||||||||||||||
| htmlindex="index.html", | ||||||||||||||||||||||||||||
| ), | ||||||||||||||||||||||||||||
| # config = "resources/datavzrd/{sample}.rendered_config.yaml" | ||||||||||||||||||||||||||||
| params: | ||||||||||||||||||||||||||||
| max_index=lambda wc: count_variants(wc) | ||||||||||||||||||||||||||||
| log: | ||||||||||||||||||||||||||||
| "<logs>/datavzrd/{sample}.log", | ||||||||||||||||||||||||||||
| wrapper: | ||||||||||||||||||||||||||||
| "v7.9.1/utils/datavzrd" | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| def get_alignoth_tables(wildcards, results_dir): | ||||||||||||||||||||||||||||
| count = count_variants(wildcards) | ||||||||||||||||||||||||||||
| return [f"{results_dir}/alignoth/{{sample}}/{i}/" for i in range(count)] | ||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
| def count_variants(wildcards): | ||||||||||||||||||||||||||||
| return sum(1 for _ in open(checkpoints.vembrane_table.get(sample=wildcards.sample).output[0], "r")) - 1 | ||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||
| def get_alignoth_tables(wildcards, results_dir): | |
| count = count_variants(wildcards) | |
| return [f"{results_dir}/alignoth/{{sample}}/{i}/" for i in range(count)] | |
| def count_variants(wildcards): | |
| return sum(1 for _ in open(checkpoints.vembrane_table.get(sample=wildcards.sample).output[0], "r")) - 1 | |
| def get_alignoth_tables(wildcards, results_dir): | |
| count = count_variants(wildcards) | |
| return [f"{results_dir}/alignoth/{{sample}}/{i}/" for i in range(count)] | |
| count_variants = lambda wildcards: sum(1 for _ in open(checkpoints.vembrane_table.get(sample=wildcards.sample).output[0], "r")) - 1 |
🤖 Prompt for AI Agents
In meta/bio/alignoth_report/meta_wrapper.smk around lines 55 to 61, replace the
one-line def count_variants(wildcards): ... with a lambda assigned to the name
count_variants to satisfy the linter; specifically, change the function
definition into a single-line assignment using lambda that accepts wildcards and
returns the same sum expression, leaving get_alignoth_tables unchanged so it
continues to call count_variants(wildcards).
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,56 @@ | ||
| __use_yte__: true | ||
|
|
||
| default-view: variants | ||
|
|
||
| datasets: | ||
| variants: | ||
| path: ?input.overview | ||
| separator: "\t" | ||
| links: | ||
| alignment plot: | ||
| column: INDEX | ||
| view: "{value}" | ||
| ?for i in range(params.max_index): | ||
| ?f"{i}.coverage": | ||
| path: ?f"{input.plot_tables[i]}/{wildcards.sample}.coverage.tsv" | ||
| separator: "\t" | ||
| ?f"{i}.reference": | ||
| path: ?f"{input.plot_tables[i]}/{wildcards.sample}.reference.tsv" | ||
| separator: "\t" | ||
| ?f"{i}.reads": | ||
| path: ?f"{input.plot_tables[i]}/{wildcards.sample}.reads.tsv" | ||
| separator: "\t" | ||
| ?f"{i}.highlight": | ||
| path: ?f"{input.plot_tables[i]}/{wildcards.sample}.highlight.tsv" | ||
| separator: "\t" | ||
| views: | ||
| variants: | ||
| dataset: variants | ||
| render-table: | ||
| columns: | ||
| SAMPLE: | ||
| label: sample | ||
| CHROM: | ||
| label: chromosome | ||
| POS: | ||
| label: position | ||
| INDEX: | ||
| display-mode: hidden | ||
| REF: | ||
| label: reference allele | ||
| spell: | ||
| url: v1.5.0/med/alleles | ||
| ALT: | ||
| label: alternative allele | ||
| spell: | ||
| url: v1.5.0/med/alleles | ||
| ?for i in range(params.max_index): | ||
| ?i: | ||
| hidden: true | ||
| datasets: | ||
| reads: ?f"{i}.reads" | ||
| reference: ?f"{i}.reference" | ||
| coverage: ?f"{i}.coverage" | ||
| highlight: ?f"{i}.highlight" | ||
| render-plot: | ||
| spec-path: ?f"{input.plot_tables[i]}/{wildcards.sample}.vl.json" |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,8 @@ | ||
| from snakemake.utils import min_version | ||
|
|
||
| min_version("9.13.1") | ||
|
|
||
| module alignoth_report: | ||
| meta_wrapper: "file:../master/meta/bio/alignoth_report" | ||
|
|
||
| use rule * from alignoth_report |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,2 @@ | ||
| >1 | ||
| TGTGCACCCAGGCTAATTAATGTTCATGGGAACTAATTAGAGCTGACATGTACAGCCAGCCTTTTGCTTACTCTGCGGGATCTTGTTCTGTGTGATTTCTCTAGGGGGAGCCTGCTCACTTTGAGTATTTGATGTATCCATTGCACTCAGCACCCATCACCGGTCTAGCTACCTGCATCCGCAAACCCCTTATAGCCACCTGTTCTCTGGATCGATCCATCCGCCTTTGGAATTATGAAACAAAGTAAGGAATGAAAGGCTTGCCTACTTTATTATGCAAGACCCCAGTTGTGAATTTATGTGAATTATTTTAATTACAGTGTTCCAAACTTTAATTATTTAGAAGCTTTCAGTTGGAAAAGATTTTTAAAAAATCAAGTCAGTCAACCTACCTGTTTCTCACTCTTGCGTGGGCTAGAAAACTACTTTGTGGTTTATTTAATGCTTACCACATGCTAGACACTGGGGACATGAAGAGATGAAGACAACACCTCAGTCTCTCACCTTCTTACATAAACTCCTGGGTCCCTCCAGCTCTCCTATCCCCTTGTTTCCCACAGGAACTGCTCTTTGCTTCAGGGAGCTCTCCAGACCCTTTCTTCCTCATCTTTCTCCCAGGACATCACTATCTCAACCACCCCCAACTCCCTCCTGACTTTACCTTCCAGCACAGCTTCCCTGGGAAGCTCCAACCCTAGGTGGACCCCCACCCCCTACTGTTTTCTTTGTTCTTATGTACAACTTCTGGGGCTTCTGGGGAAAAAATACTTGGACAATACTCATGAATTTTGGAATATAAACAGAGCTATGTCTTCAGCATCGCTAGACCACACCTTGACCAGTCTCCCTATCTACCATGCTCCACGCTGGACATTATCCCCTAATAACCAAGATCTAGAAAAGAGAGGAACCAACAATTGCAAACAGTAGTGTGTCTCAAATACGATGATAACAATATATATCAGATACAGTAGATGACTGGAAGGATTTAGTGAGCTAAGCTTACAATTCAGTAATTGATCTTTTTCACAGCACCCTGGAACTATTTAAGGAATACCAAGAAGAGGCATATTCCATCAGCCTTCATCCATCTGGACACTTCATTGTAGTAGGGTTTGCTGACAAACTACGCCTCATGAATCTACTCATTGATGATATACGTTCTTTCAAAGAATACTCTGTTAGAGGATGCGGAGAGGTAAAAAAAAAACTGCTGAAGACAAAAGTCCAGTTTCTTAGAAAGCCACGGCTGAAATATCAGGAACTAACATGATCTGGGGAGGTGGGACCAAAATCTGTCTTGGAGAACTACAGTGGCTTAAAAAAAGGGGGAAGGAGGAAATCCAGTTATTTTCCCAGCAACCTTATTGAGTATATGGTTCCATCCCCATATTCTTATGTCCACCAGACTATTTCATTGAACCTAAAACCTTGTGAGATCCCCGCTATGATAAGTCCTGTCTGTAATTGTGGAATATTAACAAATATTTTAAAAGAAAAGTAATCTCAGAATCAGAGTCACAGCTAAGAAGGTGAGGTTGGAGACGGAGGAGCCAGGGAAAAATAAGCATCAATGGTGAGAGGTAATAAAGAGCGCATCAGCTTTCCCTGAGGTGTCTTGCAGAAACAAGGCAATGATTTCAGGAATTACTTCCCCGGCTCTGAAACATGCTTCTACAGGCAAAATGATTGCTTGTGGTCCCAACGGCTTAATGATTTGTGGGCCTGACAGTGTCAGCATCTGGCCACTATGAGTTACAGGAATAATGAAAGTGTCTGAAAATGTCAGCCACTCCTCAGTCTCATTTGCACCTTCCCCCCACTCCCACCCTCACACGTAGTTTCAGTCTGAACTCGTTGGGAAAAGCACCTCTTGACTGTAACCTCTAATTAGACTGCTCACTTCCTGCTTGCTTGCTCTCTTGCTGTCTTTCCCTATAGTGTTCCTTTAGCAATGGAGGTCACCTGTTTGCTGCAGTCAATGGAAATGTGATTCACGTTTACACCACCACGAGCCTAGAGAACATCTCAAGCCTGAAAGGACACACAGGGAAGGTAAGTGAGTGAACAGTCTCTGGGGAAACAAGGGGCACGGAGCCAAGTATGCCGCCAGCCAGTGGGATACAGGTGAACAAAAGAGAGATGGTTCCTTTCCTCATGGGTTCACTGTCTACTTGGGGAAAGAGACAATAAAACAAATGCACAGACAAATGTAGTTACTAATTGCAGTTCCACTGAAAGAAAAACATGGTGTTGTTGTGAGAGAAATAATGAAGGGGGCGGCATAATTTAGGTGGCTGTATTTGCAAAGGCTTGGTCCTATAAGAGTGAGTAGGAGTTAATCAGACACAACTGGTGGGGATAATCACTGCAGATAGGGATCCAAAGGCCAGAGATGGGAGACTCATAGG |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| 1 2411 3 2411 2412 |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,4 @@ | ||
| wrappers: | ||
| - bio/vembrane/table | ||
| - bio/alignoth | ||
| - utils/datavzrd |
Uh oh!
There was an error while loading. Please reload this page.