Skip to content

Commit b8b9be7

Browse files
Merge pull request #70 from torres-alexis/SW_AmpIllumina-B-suffix-fix
SW_AmpIllumina-B: Assay suffix changes: Change "GLAmpSeq" suffix to "_GLAmpSeq" for more flexible naming Change order of vis script parameters, update associated readme changes Remove quotation marks from manual visualization script run command Improve construction of plot directory paths and file names in visualization script
2 parents 94d046a + fa6626b commit b8b9be7

File tree

5 files changed

+109
-115
lines changed

5 files changed

+109
-115
lines changed

Amplicon/Illumina/Workflow_Documentation/SW_AmpIllumina-B/workflow_code/Snakefile

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ Variables that may need to be adjusted should be changed there, not here.
3434
####### Assay-specific GL suffix #######
3535
########################################
3636

37-
assay_suffix = "GLAmpSeq"
37+
assay_suffix = "_GLAmpSeq"
3838

3939

4040
########################################
@@ -93,27 +93,27 @@ for dir in needed_dirs:
9393
base_PE_inputs = [
9494
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"], ID = sample_ID_list),
9595
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R2_suffix"], ID = sample_ID_list),
96-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv",
97-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom.zip",
98-
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs_{assay_suffix}.fasta",
99-
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking_{assay_suffix}.tsv",
100-
config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
101-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.tsv",
102-
config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc_{assay_suffix}_report.zip",
103-
config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc_{assay_suffix}_report.zip"
96+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv",
97+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom.zip",
98+
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs{assay_suffix}.fasta",
99+
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking{assay_suffix}.tsv",
100+
config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
101+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.tsv",
102+
config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc{assay_suffix}_report.zip",
103+
config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc{assay_suffix}_report.zip"
104104
]
105105

106106
# Base rule all inputs (final outs) for SE, with or without trimming
107107
base_SE_inputs = [
108108
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"], ID = sample_ID_list),
109-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv",
110-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom.zip",
111-
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs_{assay_suffix}.fasta",
112-
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking_{assay_suffix}.tsv",
113-
config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
114-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.tsv",
115-
config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc_{assay_suffix}_report.zip",
116-
config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc_{assay_suffix}_report.zip"
109+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv",
110+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom.zip",
111+
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs{assay_suffix}.fasta",
112+
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking{assay_suffix}.tsv",
113+
config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
114+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.tsv",
115+
config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc{assay_suffix}_report.zip",
116+
config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc{assay_suffix}_report.zip"
117117
]
118118

119119
# Add additional inputs for trimming
@@ -122,18 +122,18 @@ if config["trim_primers"] == "TRUE":
122122
base_PE_inputs += [
123123
expand(config["trimmed_reads_dir"] + "{ID}" + config["primer_trimmed_R1_suffix"], ID = sample_ID_list),
124124
expand(config["trimmed_reads_dir"] + "{ID}" + config["primer_trimmed_R2_suffix"], ID = sample_ID_list),
125-
config["trimmed_reads_dir"] + config["output_prefix"] + f"cutadapt_{assay_suffix}.log",
126-
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts_{assay_suffix}.tsv",
125+
config["trimmed_reads_dir"] + config["output_prefix"] + f"cutadapt{assay_suffix}.log",
126+
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts{assay_suffix}.tsv",
127127
]
128128
else: # SE with primer trimming
129129
base_SE_inputs += [
130130
expand(config["trimmed_reads_dir"] + "{ID}" + config["primer_trimmed_R1_suffix"], ID = sample_ID_list),
131-
config["trimmed_reads_dir"] + config["output_prefix"] + f"cutadapt_{assay_suffix}.log",
132-
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts_{assay_suffix}.tsv",
131+
config["trimmed_reads_dir"] + config["output_prefix"] + f"cutadapt{assay_suffix}.log",
132+
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts{assay_suffix}.tsv",
133133
]
134134

135135
# Conditional addition of visualization outputs (color legend only to keep it simple)
136-
visualization_outputs = [config["plots_dir"] + config["output_prefix"] + f"color_legend_{assay_suffix}.png"] if enable_visualizations == "TRUE" else []
136+
visualization_outputs = [config["plots_dir"] + config["output_prefix"] + f"color_legend{assay_suffix}.png"] if enable_visualizations == "TRUE" else []
137137

138138
########################################
139139
############# Rules start ##############
@@ -160,16 +160,16 @@ if config["data_type"] == "PE":
160160
input:
161161
expand(config["trimmed_reads_dir"] + "{ID}" + config["primer_trimmed_R1_suffix"], ID = sample_ID_list),
162162
expand(config["trimmed_reads_dir"] + "{ID}" + config["primer_trimmed_R2_suffix"], ID = sample_ID_list),
163-
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts_{assay_suffix}.tsv"
163+
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts{assay_suffix}.tsv"
164164
output:
165165
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"], ID = sample_ID_list),
166166
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R2_suffix"], ID = sample_ID_list),
167-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv",
168-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom",
169-
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs_{assay_suffix}.fasta",
170-
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking_{assay_suffix}.tsv",
171-
config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
172-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.tsv"
167+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv",
168+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom",
169+
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs{assay_suffix}.fasta",
170+
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking{assay_suffix}.tsv",
171+
config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
172+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.tsv"
173173
params:
174174
left_trunc = config["left_trunc"],
175175
right_trunc = config["right_trunc"],
@@ -211,12 +211,12 @@ if config["data_type"] == "PE":
211211
output:
212212
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"], ID = sample_ID_list),
213213
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R2_suffix"], ID = sample_ID_list),
214-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv",
215-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom",
216-
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs_{assay_suffix}.fasta",
217-
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking_{assay_suffix}.tsv",
218-
config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
219-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.tsv"
214+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv",
215+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom",
216+
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs{assay_suffix}.fasta",
217+
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking{assay_suffix}.tsv",
218+
config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
219+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.tsv"
220220
params:
221221
left_trunc = config["left_trunc"],
222222
right_trunc = config["right_trunc"],
@@ -338,7 +338,7 @@ if config["data_type"] == "PE":
338338
r2_html_files = expand(config["raw_reads_dir"] + "{ID}" + config["raw_R2_suffix"].rsplit(".", 2)[0] + "_fastqc.html", ID = sample_ID_list),
339339
config_file = "config/multiqc.config"
340340
output:
341-
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc_{assay_suffix}_report.zip"
341+
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc{assay_suffix}_report.zip"
342342
benchmark:
343343
"benchmarks/raw_multiqc-benchmarks.tsv"
344344
shell:
@@ -387,7 +387,7 @@ if config["data_type"] == "PE":
387387
r2_html_files = expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R2_suffix"].rsplit(".", 2)[0] + "_fastqc.html", ID = sample_ID_list),
388388
config_file = "config/multiqc.config"
389389
output:
390-
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc_{assay_suffix}_report.zip"
390+
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc{assay_suffix}_report.zip"
391391
benchmark:
392392
"benchmarks/filtered_multiqc-benchmarks.tsv"
393393

@@ -418,15 +418,15 @@ if config["data_type"] == "SE":
418418
"envs/R.yaml"
419419
input:
420420
expand(config["trimmed_reads_dir"] + "{ID}" + config["primer_trimmed_R1_suffix"], ID = sample_ID_list),
421-
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts_{assay_suffix}.tsv"
421+
config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts{assay_suffix}.tsv"
422422
output:
423423
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"], ID = sample_ID_list),
424-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv",
425-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom",
426-
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs_{assay_suffix}.fasta",
427-
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking_{assay_suffix}.tsv",
428-
config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
429-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.tsv"
424+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv",
425+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom",
426+
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs{assay_suffix}.fasta",
427+
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking{assay_suffix}.tsv",
428+
config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
429+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.tsv"
430430
params:
431431
left_trunc = config["left_trunc"],
432432
left_maxEE = config["left_maxEE"],
@@ -461,12 +461,12 @@ if config["data_type"] == "SE":
461461
expand(config["raw_reads_dir"] + "{ID}" + config["raw_R1_suffix"], ID = sample_ID_list)
462462
output:
463463
expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"], ID = sample_ID_list),
464-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv",
465-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom",
466-
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs_{assay_suffix}.fasta",
467-
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking_{assay_suffix}.tsv",
468-
config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
469-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.tsv"
464+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv",
465+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom",
466+
config["final_outputs_dir"] + config["output_prefix"] + f"ASVs{assay_suffix}.fasta",
467+
config["final_outputs_dir"] + config["output_prefix"] + f"read-count-tracking{assay_suffix}.tsv",
468+
config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
469+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.tsv"
470470
params:
471471
left_trunc = config["left_trunc"],
472472
left_maxEE = config["left_maxEE"],
@@ -577,7 +577,7 @@ if config["data_type"] == "SE":
577577
r1_html_files = expand(config["raw_reads_dir"] + "{ID}" + config["raw_R1_suffix"].rsplit(".", 2)[0] + "_fastqc.html", ID = sample_ID_list),
578578
config_file = "config/multiqc.config"
579579
output:
580-
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc_{assay_suffix}_report.zip"
580+
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"raw_multiqc{assay_suffix}_report.zip"
581581
benchmark:
582582
"benchmarks/raw_multiqc-benchmarks.tsv"
583583
shell:
@@ -622,7 +622,7 @@ if config["data_type"] == "SE":
622622
r1_html_files = expand(config["filtered_reads_dir"] + "{ID}" + config["filtered_R1_suffix"].rsplit(".", 2)[0] + "_fastqc.html", ID = sample_ID_list),
623623
config_file = "config/multiqc.config"
624624
output:
625-
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc_{assay_suffix}_report.zip"
625+
final_out_zip = config["fastqc_out_dir"] + config["output_prefix"] + f"filtered_multiqc{assay_suffix}_report.zip"
626626
benchmark:
627627
"benchmarks/filtered_multiqc-benchmarks.tsv"
628628

@@ -639,11 +639,11 @@ rule r_visualizations:
639639
input:
640640
runsheet = config["runsheet"],
641641
sample_info = config["sample_info_file"],
642-
counts = config["final_outputs_dir"] + config["output_prefix"] + f"counts_{assay_suffix}.tsv",
643-
taxonomy = config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy_{assay_suffix}.tsv"
642+
counts = config["final_outputs_dir"] + config["output_prefix"] + f"counts{assay_suffix}.tsv",
643+
taxonomy = config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy{assay_suffix}.tsv"
644644
output:
645645
# Use completion flag file in place of plot outputs for variable plots
646-
legend = config["plots_dir"] + config["output_prefix"] + f"color_legend_{assay_suffix}.png"
646+
legend = config["plots_dir"] + config["output_prefix"] + f"color_legend{assay_suffix}.png"
647647
params:
648648
assay_suffix = assay_suffix,
649649
plots_dir = config["plots_dir"],
@@ -657,15 +657,15 @@ rule r_visualizations:
657657
"benchmarks/r-visualizations-benchmarks.tsv"
658658
shell:
659659
"""
660-
Rscript visualizations/Illumina-R-visualizations.R "{input.runsheet}" "{input.sample_info}" "{input.counts}" "{input.taxonomy}" "{params.assay_suffix}" "{params.plots_dir}" "{params.output_prefix}" > {log} 2>&1
660+
Rscript visualizations/Illumina-R-visualizations.R "{input.runsheet}" "{input.sample_info}" "{input.counts}" "{input.taxonomy}" "{params.plots_dir}" "{params.output_prefix}" "{params.assay_suffix}" > {log} 2>&1
661661
"""
662662

663663

664664
rule zip_biom:
665665
input:
666-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom"
666+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom"
667667
output:
668-
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts_{assay_suffix}.biom.zip"
668+
config["final_outputs_dir"] + config["output_prefix"] + f"taxonomy-and-counts{assay_suffix}.biom.zip"
669669
shell:
670670
"""
671671
zip -j -q {output} {input} && rm {input}
@@ -678,8 +678,8 @@ rule combine_cutadapt_logs_and_summarize:
678678
counts = expand(config["trimmed_reads_dir"] + "{ID}-trimmed-counts.tsv", ID = sample_ID_list),
679679
logs = expand(config["trimmed_reads_dir"] + "{ID}-cutadapt.log", ID = sample_ID_list)
680680
output:
681-
combined_log = config["trimmed_reads_dir"] + config["output_prefix"] + f"cutadapt_{assay_suffix}.log",
682-
combined_counts = config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts_{assay_suffix}.tsv"
681+
combined_log = config["trimmed_reads_dir"] + config["output_prefix"] + f"cutadapt{assay_suffix}.log",
682+
combined_counts = config["trimmed_reads_dir"] + config["output_prefix"] + f"trimmed-read-counts{assay_suffix}.tsv"
683683
benchmark:
684684
"benchmarks/combine_cutadapt_logs_and_summarize-benchmarks.tsv"
685685
shell:

0 commit comments

Comments
 (0)