From b679f61376ab1ecea7cf98b0a833b5ef0d358de2 Mon Sep 17 00:00:00 2001 From: tdayris Date: Mon, 20 Oct 2025 18:06:31 +0200 Subject: [PATCH 1/3] Pathvars attempt --- meta/bio/salmon_tximport/meta.yaml | 13 ++++ meta/bio/salmon_tximport/meta_wrapper.smk | 68 ++++++++++-------- meta/bio/salmon_tximport/test/Snakefile | 12 +++- meta/bio/salmon_tximport/test/config.yaml | 9 +++ .../salmon_tximport/test/reads/S1.fastq.gz | Bin 1198 -> 0 bytes .../salmon_tximport/test/reads/S1_R1.fq.gz | Bin 0 -> 1747 bytes .../salmon_tximport/test/reads/S1_R2.fq.gz | Bin 0 -> 1747 bytes .../salmon_tximport/test/reads/S2.fastq.gz | Bin 1191 -> 0 bytes .../salmon_tximport/test/reads/S2_R1.fq.gz | Bin 0 -> 1739 bytes .../salmon_tximport/test/reads/S2_R2.fq.gz | Bin 0 -> 1749 bytes .../salmon_tximport/test/reads/S3.fastq.gz | Bin 1102 -> 0 bytes .../salmon_tximport/test/reads/S4.fastq.gz | Bin 956 -> 0 bytes .../test/resources/genome.fasta.fai | 1 + .../test/resources/transcriptome.fasta | 5 +- .../test/resources/transcriptome.fasta.fai | 2 + test_wrappers.py | 2 +- 16 files changed, 77 insertions(+), 35 deletions(-) create mode 100644 meta/bio/salmon_tximport/test/config.yaml delete mode 100644 meta/bio/salmon_tximport/test/reads/S1.fastq.gz create mode 100644 meta/bio/salmon_tximport/test/reads/S1_R1.fq.gz create mode 100644 meta/bio/salmon_tximport/test/reads/S1_R2.fq.gz delete mode 100644 meta/bio/salmon_tximport/test/reads/S2.fastq.gz create mode 100644 meta/bio/salmon_tximport/test/reads/S2_R1.fq.gz create mode 100644 meta/bio/salmon_tximport/test/reads/S2_R2.fq.gz delete mode 100644 meta/bio/salmon_tximport/test/reads/S3.fastq.gz delete mode 100644 meta/bio/salmon_tximport/test/reads/S4.fastq.gz create mode 100644 meta/bio/salmon_tximport/test/resources/genome.fasta.fai create mode 100644 meta/bio/salmon_tximport/test/resources/transcriptome.fasta.fai diff --git a/meta/bio/salmon_tximport/meta.yaml b/meta/bio/salmon_tximport/meta.yaml index 6ac09a58b77..00b05a75182 100644 --- a/meta/bio/salmon_tximport/meta.yaml +++ b/meta/bio/salmon_tximport/meta.yaml @@ -18,3 +18,16 @@ description: > +----------------+----------+------------------------------------------------+ authors: - Thibault Dayris +pathvars: + default: + - results + - resources + - logs + custom: + transcriptome_sequence: Path to FASTA file with transcriptome sequence + genome_sequence: Path to FASTA file with genome sequence + genome_annotation: Path to GTF file with genome annotation + reads_r1: Path/pattern for FASTQ files with R1 reads + reads_r2: Path/pattern for FASTQ files with R2 reads + tx_to_gene: Path to TSV table with transcript_id gene_id + per: Pattern for sample identifiers, e.g. ``"{sample}"`` diff --git a/meta/bio/salmon_tximport/meta_wrapper.smk b/meta/bio/salmon_tximport/meta_wrapper.smk index 107bfd53e9f..e33f2d4316b 100644 --- a/meta/bio/salmon_tximport/meta_wrapper.smk +++ b/meta/bio/salmon_tximport/meta_wrapper.smk @@ -1,24 +1,24 @@ rule salmon_decoy_sequences: input: - transcriptome="resources/transcriptome.fasta", - genome="resources/genome.fasta", + transcriptome="", + genome="", output: - gentrome=temp("resources/gentrome.fasta"), - decoys=temp("resources/decoys.txt"), + gentrome=temp("/gentrome.fasta"), + decoys=temp("/decoys.txt"), threads: 1 log: - "decoys.log", + "/decoys.log", wrapper: "master/bio/salmon/decoys" rule salmon_index_gentrome: input: - sequences="resources/gentrome.fasta", - decoys="resources/decoys.txt", + sequences="/gentrome.fasta", + decoys="/decoys.txt", output: multiext( - "salmon/transcriptome_index/", + "/salmon_gentrome_index/", "complete_ref_lens.bin", "ctable.bin", "ctg_offsets.bin", @@ -37,7 +37,7 @@ rule salmon_index_gentrome: ), cache: True log: - "logs/salmon/transcriptome_index.log", + "/salmon/gentrome_index.log", threads: 2 params: # optional parameters @@ -48,9 +48,10 @@ rule salmon_index_gentrome: rule salmon_quant_reads: input: - r="reads/{sample}.fastq.gz", + r1="", + r2="", index=multiext( - "salmon/transcriptome_index/", + "/salmon_gentrome_index/", "complete_ref_lens.bin", "ctable.bin", "ctg_offsets.bin", @@ -67,17 +68,17 @@ rule salmon_quant_reads: "seq.bin", "versionInfo.json", ), - gtf="resources/annotation.gtf", + gtf="", output: - quant=temp("pseudo_mapping/{sample}/quant.sf"), - quant_gene=temp("pseudo_mapping/{sample}/quant.genes.sf"), - lib=temp("pseudo_mapping/{sample}/lib_format_counts.json"), - aux_info=temp(directory("pseudo_mapping/{sample}/aux_info")), - cmd_info=temp("pseudo_mapping/{sample}/cmd_info.json"), - libparams=temp(directory("pseudo_mapping/{sample}/libParams")), - logs=temp(directory("pseudo_mapping/{sample}/logs")), + quant=temp("/pseudo_mapping//quant.sf"), + quant_gene=temp("/pseudo_mapping//quant.genes.sf"), + lib=temp("/pseudo_mapping//lib_format_counts.json"), + aux_info=temp(directory("/pseudo_mapping//aux_info")), + cmd_info=temp("/pseudo_mapping//cmd_info.json"), + libparams=temp(directory("/pseudo_mapping//libParams")), + logs=temp(directory("/pseudo_mapping//logs")), log: - "logs/salmon/{sample}.log", + "/salmon/.log", params: # optional parameters libtype="A", @@ -90,28 +91,35 @@ rule salmon_quant_reads: rule tximport: input: quant=expand( - "pseudo_mapping/{sample}/quant.sf", sample=["S1", "S2", "S3", "S4"] + "/pseudo_mapping/{sample}/quant.sf", + sample=["S1", "S2"], ), lib=expand( - "pseudo_mapping/{sample}/lib_format_counts.json", - sample=["S1", "S2", "S3", "S4"], + "/pseudo_mapping/{sample}/lib_format_counts.json", + sample=["S1", "S2"], ), aux_info=expand( - "pseudo_mapping/{sample}/aux_info", sample=["S1", "S2", "S3", "S4"] + "/pseudo_mapping/{sample}/aux_info", + sample=["S1", "S2"], ), cmd_info=expand( - "pseudo_mapping/{sample}/cmd_info.json", sample=["S1", "S2", "S3", "S4"] + "/pseudo_mapping/{sample}/cmd_info.json", + sample=["S1", "S2"], ), libparams=expand( - "pseudo_mapping/{sample}/libParams", sample=["S1", "S2", "S3", "S4"] + "/pseudo_mapping/{sample}/libParams", + sample=["S1", "S2"], ), - logs=expand("pseudo_mapping/{sample}/logs", sample=["S1", "S2", "S3", "S4"]), - tx_to_gene="resources/tx2gene.tsv", + logs=expand( + "/pseudo_mapping/{sample}/logs", + sample=["S1", "S2"], + ), + tx_to_gene="", output: - txi="tximport/SummarizedExperimentObject.RDS", + txi="/tximport/SummarizedExperimentObject.RDS", params: extra="type='salmon'", log: - "logs/tximport.log" + "/tximport.log", wrapper: "master/bio/tximport" diff --git a/meta/bio/salmon_tximport/test/Snakefile b/meta/bio/salmon_tximport/test/Snakefile index ef1032f04e9..cd81b946d99 100644 --- a/meta/bio/salmon_tximport/test/Snakefile +++ b/meta/bio/salmon_tximport/test/Snakefile @@ -2,7 +2,15 @@ from snakemake.utils import min_version min_version("9.13.1") + +configfile: "config.yaml" + + module salmon_tximport: - meta_wrapper: "master/meta/bio/salmon_tximport" + meta_wrapper: + "master/meta/bio/salmon_tximport" + config: + config + -use rule * from salmon_tximport \ No newline at end of file +use rule * from salmon_tximport diff --git a/meta/bio/salmon_tximport/test/config.yaml b/meta/bio/salmon_tximport/test/config.yaml new file mode 100644 index 00000000000..016d6dd25d3 --- /dev/null +++ b/meta/bio/salmon_tximport/test/config.yaml @@ -0,0 +1,9 @@ +pathvars: + transcriptome_sequence: "resources/transcriptome.fasta" + genome_sequence: "resources/genome.fasta" + genome_annotation: "resources/annotation.gtf" + tx_to_gene: "resources/tx2gene.tsv" + per: "{sample}" + reads_r1: "reads/{sample}_R1.fq.gz" + reads_r2: "reads/{sample}_R2.fq.gz" + resources: "resources" diff --git a/meta/bio/salmon_tximport/test/reads/S1.fastq.gz b/meta/bio/salmon_tximport/test/reads/S1.fastq.gz deleted file mode 100644 index 2c40df8fe838b3d8ddeb7a3be0ff9a5615c896a4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1198 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 F006t^OtSz0 diff --git a/meta/bio/salmon_tximport/test/reads/S2_R1.fq.gz b/meta/bio/salmon_tximport/test/reads/S2_R1.fq.gz new file mode 100644 index 0000000000000000000000000000000000000000..b63eda9ded6d14b1233c16205bc840815feb3240 GIT binary patch literal 1739 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 diff --git a/meta/bio/salmon_tximport/test/reads/S4.fastq.gz b/meta/bio/salmon_tximport/test/reads/S4.fastq.gz deleted file mode 100644 index eb36adcd09b6fd85d212b28f3c3355714e61d393..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 956 zcmV;t14H~DiwFpwD==gL15-3EW?^%5aR8l{O^)0k5QX=-MwZ#w7>vy#iYWudB8fEW z{oMZ+d4+qD4A3(zEXQ_wq{ru1Ka{`!csYKZzkj~IgyVdj-0IZq=5<@$V%68_3*9K) zjvM~bfk*ro=W!hAmX3r&o`}AD`%ETyKF{bmC5o9SWPh9?;#WS>Ng>jCLgxEB87NF{ z-f^82#P(^FrzaGA%-IuBOcc&YKE%w?2mIu7^5IO(6e=R+w6ktrc8&KEmCsRb$8oE0 z8WqN>o^y`GxN!~?VNDD~IfYFA^w}q_SQcokyW92RX0KSdlZG zSl%=Fm?8%z&Xj!gxrvo_n_E`A)C`CB;_y>6HBLt-U{x?+aoFQ=diVq)s1h=Y6I>!+ z@ff!_0|^Kr?8?e}5mx>*e=44ij)w~SglG}&$YvlU1dvh$n=s*8^Q?F;yUBauvd;5p z?sRm-2aXX)Fb5dkC%MKbsq704H}OKy-KszQEHG>wWZTh=eBBR)t1aS~sU$&$->s91JqoJF@VdUr|u!$vX+;qXoNyC`Uingku@{}>DZh^ImERC1vtE5=MRaR%AkQ|0tv0<5^ zqQv9*Z$lnwIvpMOAu%eYEeF7uiY3J9{TH70pa(=~8M8BT zVr1FWI=WSKbRHtS`?2OJldgf9o}{yyX|w@#l{!QnteOd3%xO#qc0p5{hAXV2)3c;C ztLDK#huvqBt=Z~fe`=M-LHdYAJ_OKMSFu>z(Qeqve3UegX$%~e;d?4JU%SOfef5Ms ziqK;slqfRL*=dtjKOC$^=Ce5UX)Gcx6M~TjVwT}*Z*|6aHkmNx`^3t(_CDI3J33=L em~-8V@5oj9*`&transcript1 -CCAGGCTCGTATGTACATCGCTCCTCAAAGTGAGGGGAAGTCCTAAT +CAGGCTCGTATGTACATCGCTCCTCAAAGTGAGGGGAAGTCCTAATCGG >transcript2 -CATCTCCCTGAGTCGGTTTAAAGATTGTCTTGTATGCGTACTCTTGATAGGTAACCCG +CAGGCTCGTATGTACATCGCTCCTCAAAGTGAGGGGAAGTCCTAATCGGATACCGATTGGACTCTTGAGT +ACCGGCCCTGT diff --git a/meta/bio/salmon_tximport/test/resources/transcriptome.fasta.fai b/meta/bio/salmon_tximport/test/resources/transcriptome.fasta.fai new file mode 100644 index 00000000000..e09f09b0557 --- /dev/null +++ b/meta/bio/salmon_tximport/test/resources/transcriptome.fasta.fai @@ -0,0 +1,2 @@ +transcript1 49 13 49 50 +transcript2 81 76 70 71 diff --git a/test_wrappers.py b/test_wrappers.py index 6b4a32f16f7..3c322c2e734 100644 --- a/test_wrappers.py +++ b/test_wrappers.py @@ -1101,7 +1101,7 @@ def test_salmon_tximport_meta(run): "--cores", "2", "--use-conda", - "tximport/SummarizedExperimentObject.RDS", + "results/tximport/SummarizedExperimentObject.RDS", ], ) From 9da56295d0807768f85c5c846fc170d6f4392109 Mon Sep 17 00:00:00 2001 From: tdayris Date: Fri, 14 Nov 2025 14:22:44 +0100 Subject: [PATCH 2/3] use lookup to answer issue --- meta/bio/salmon_tximport/meta_wrapper.smk | 12 ++++++------ meta/bio/salmon_tximport/test/config.yaml | 5 +++++ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/meta/bio/salmon_tximport/meta_wrapper.smk b/meta/bio/salmon_tximport/meta_wrapper.smk index 60ffa148d63..f8e1ba88b64 100644 --- a/meta/bio/salmon_tximport/meta_wrapper.smk +++ b/meta/bio/salmon_tximport/meta_wrapper.smk @@ -92,27 +92,27 @@ rule tximport: input: quant=expand( "/pseudo_mapping/{sample}/quant.sf", - sample=["S1", "S2"], + sample=lookup(dpath="salmon_tximport_submodule/samples", within=config), ), lib=expand( "/pseudo_mapping/{sample}/lib_format_counts.json", - sample=["S1", "S2"], + sample=lookup(dpath="salmon_tximport_submodule/samples", within=config), ), aux_info=expand( "/pseudo_mapping/{sample}/aux_info", - sample=["S1", "S2"], + sample=lookup(dpath="salmon_tximport_submodule/samples", within=config), ), cmd_info=expand( "/pseudo_mapping/{sample}/cmd_info.json", - sample=["S1", "S2"], + sample=lookup(dpath="salmon_tximport_submodule/samples", within=config), ), libparams=expand( "/pseudo_mapping/{sample}/libParams", - sample=["S1", "S2"], + sample=lookup(dpath="salmon_tximport_submodule/samples", within=config), ), logs=expand( "/pseudo_mapping/{sample}/logs", - sample=["S1", "S2"], + sample=lookup(dpath="salmon_tximport_submodule/samples", within=config), ), tx_to_gene="", output: diff --git a/meta/bio/salmon_tximport/test/config.yaml b/meta/bio/salmon_tximport/test/config.yaml index 016d6dd25d3..ddf6a0808a8 100644 --- a/meta/bio/salmon_tximport/test/config.yaml +++ b/meta/bio/salmon_tximport/test/config.yaml @@ -7,3 +7,8 @@ pathvars: reads_r1: "reads/{sample}_R1.fq.gz" reads_r2: "reads/{sample}_R2.fq.gz" resources: "resources" + +salmon_tximport_submodule: + samples: + - "S1" + - "S2" From a529cf5eb0860d417ccf9d1239b6aadada59cade Mon Sep 17 00:00:00 2001 From: tdayris Date: Fri, 14 Nov 2025 14:24:19 +0100 Subject: [PATCH 3/3] fmt --- meta/bio/salmon_tximport/test/Snakefile | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/meta/bio/salmon_tximport/test/Snakefile b/meta/bio/salmon_tximport/test/Snakefile index 84fe60bc217..8150a523f73 100644 --- a/meta/bio/salmon_tximport/test/Snakefile +++ b/meta/bio/salmon_tximport/test/Snakefile @@ -2,10 +2,15 @@ from snakemake.utils import min_version min_version("9.13.1") + configfile: "config.yaml" + module salmon_tximport: - meta_wrapper: "file:.." - config: config + meta_wrapper: + "file:.." + config: + config + use rule * from salmon_tximport