A Snakemake workflow to basecall, quality control and assemble Nanopore data.

public public 1yr ago 0 bookmarks

A Snakemake workflow to basecall, quality control and assemble Nanopore data.

Alt text

Code Snippets

52
53
shell:
   'pycoQC -f {input.seq_summary} -o {output} &>{log}'
67
68
shell:
    'porechop -i {input.longreads} -o {output.trimmed} -t 8 --discard_middle &>{log}'
97
98
shell:
    "trimmomatic PE {input.r1} {input.r2} {output.r1} {output.r1_unpaired} {output.r2} {output.r2_unpaired} -threads {params.threads} ILLUMINACLIP:{params.adapter_filepath}:{params.seed}:{params.palindrome_clip}:{params.simple_clip}:{params.minadapterlength}:{params.keep_both_reads} SLIDINGWINDOW:{params.window_size}:{params.window_size_quality} MINLEN:{params.minlength} HEADCROP:{params.headcrop_length} &>{log}"
118
119
shell:
    "flye --nano-hq {input.trimmed} -g {params.size} -o {params.assembly_dir} -t {params.threads} {params.flye_options} && cp {params.assembly_dir}/assembly.fasta {params.assembly_dir}/{params.prefix}_flye.fasta &>{log}"
138
139
shell:
    "medaka_consensus -i {input.trimmed} -d {input.flye_assembly} -o {params.medaka_out_dir} -t {params.threads} -m {params.model} && cp {params.medaka_out_dir}/consensus.fasta {params.medaka_out_dir}/{params.prefix}_medaka.fasta &>{log}"
153
154
shell:
    "bwa index {input.medaka_assembly} && bwa mem -t12 -a {input.medaka_assembly} {input.r1} > {output.samout_1} && bwa mem -t12 -a {input.medaka_assembly} {input.r2} > {output.samout_2}"
169
170
shell:
    "bwa index {input.polypolish_assembly} && bwa mem -t12 {input.polypolish_assembly} {input.r1} {input.r2} > {output.samout} && samtools view -Sb {output.samout} > {output.bamout} && samtools sort -o {output.bamout_sorted} {output.bamout} && samtools index {output.bamout_sorted}"
185
186
shell:
    "bwa index {input.unicycler_assembly} && bwa mem -t12 -a {input.unicycler_assembly} {input.r1} > {output.samout_1} && bwa mem -t12 -a {input.unicycler_assembly} {input.r2} > {output.samout_2}"
204
205
shell:
    "polypolish_insert_filter.py --in1 {input.samout_1} --in2 {input.samout_2} --out1 {output.filtersam1} --out2 {output.filtersam2}  && polypolish {input.medaka_assembly} {output.filtersam1} {output.filtersam2} > {output.flye_medaka_polypolish}"
221
222
shell:
    "pilon -Xmx40g --genome {input.polypolish_assembly} --bam {input.bamout_sorted} --outdier {params.pilon_dir} --output {params.prefix}"
238
239
shell:
    "unicycler -1 {input.r1} -2 {input.r2} -l {input.trimmed_long} -o {params.unicycler_assembly_out} && cp {params.unicycler_assembly_out}/assembly.fasta {params.unicycler_assembly_out}/{params.prefix}_unicycler.fasta"
256
257
shell:
    "polypolish_insert_filter.py --in1 {input.samout_1} --in2 {input.samout_2} --out1 {output.filtersam1} --out2 {output.filtersam2}  && polypolish {input.unicycler_assembly} {output.filtersam1} {output.filtersam2} > {output.unicycler_polypolish}"
272
273
shell:
    "bwa index {input.polypolish_unicycler_assembly} && bwa mem -t12 {input.polypolish_unicycler_assembly} {input.r1} {input.r2} > {output.samout} && samtools view -Sb {output.samout} > {output.bamout} && samtools sort -o {output.bamout_sorted} {output.bamout} && samtools index {output.bamout_sorted}"
289
290
shell:
    "pilon -Xmx40g --genome {input.polypolish_unicycler_assembly} --bam {input.bamout_sorted} --outdir {params.pilon_dir} --output {params.prefix}"
313
314
shell:
    "prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_unicycler {input.unicycler_assembly} && prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_flye {input.flye_assembly} && prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_medaka {input.medaka_assembly} && prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_flye_medaka_polypolish {input.flye_medaka_polypolish} && prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_unicycler_polypolish {input.unicycler_polypolish} && prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_flye_medaka_polypolish_pilon {input.flye_medaka_polypolish_pilon} && prokka {params.options} --strain {params.prefix} -outdir {params.prokka_dir} -prefix {params.prefix}_unicycler_polypolish_pilon {input.unicycler_polypolish_pilon}"
332
333
shell:
    "quast {input.unicycler_assembly} -o {params.quast_dir}_unicycler && quast {input.medaka_assembly} -o {params.quast_dir}_medaka && quast {input.unicycler_polypolish} -o {params.quast_dir}_unicycler_polypolish && quast {input.flye_medaka_polypolish} -o {params.quast_dir}_flye_medaka_polypolish && quast {input.flye_assembly} -o {params.quast_dir}_flye && quast {input.flye_medaka_polypolish_pilon} -o {params.quast_dir}_flye_medaka_polypolish_pilon && quast {input.unicycler_polypolish_pilon} -o {params.quast_dir}_unicycler_polypolish_pilon"
359
360
shell:
    "busco -f -i {input.unicycler_assembly} -m genome -l bacteria_odb10 -o {params.busco_outpath}.unicycler && cp {params.busco_outpath}.unicycler/{params.unicycler_busco_out} {params.busco_outpath}.unicycler/busco_unicycler.txt && busco -f -i {input.unicycler_polypolish} -m genome -l bacteria_odb10 -o {params.busco_outpath}.unicycler_polypolish && cp {params.busco_outpath}.unicycler_polypolish/{params.unicycler_polypolish_busco_out} {params.busco_outpath}.unicycler_polypolish/busco_unicycler_polypolish.txt && busco -f -i {input.flye_medaka_polypolish} -m genome -l bacteria_odb10 -o {params.busco_outpath}.flye_medaka_polypolish && cp {params.busco_outpath}.flye_medaka_polypolish/{params.flye_medaka_polypolish_busco_out} {params.busco_outpath}.flye_medaka_polypolish/busco_flye_medaka_polypolish.txt && busco -f -i {input.medaka_assembly} -m genome -l bacteria_odb10 -o {params.busco_outpath}.medaka_assembly && cp {params.busco_outpath}.medaka_assembly/{params.medaka_assembly_busco_out} {params.busco_outpath}.medaka_assembly/busco_medaka_assembly.txt && busco -f -i {input.flye_assembly} -m genome -l bacteria_odb10 -o {params.busco_outpath}.flye_assembly && cp {params.busco_outpath}.flye_assembly/{params.flye_assembly_busco_out} {params.busco_outpath}.flye_assembly/busco_flye_assembly.txt && busco -f -i {input.flye_medaka_polypolish_pilon} -m genome -l bacteria_odb10 -o {params.busco_outpath}.flye_medaka_polypolish_pilon && cp {params.busco_outpath}.flye_medaka_polypolish_pilon/{params.flye_medaka_polypolish_pilon_busco_out} {params.busco_outpath}.flye_medaka_polypolish_pilon/busco_flye_medaka_polypolish_pilon.txt && busco -f -i {input.unicycler_polypolish_pilon} -m genome -l bacteria_odb10 -o {params.busco_outpath}.unicycler_polypolish_pilon && cp {params.busco_outpath}.unicycler_polypolish_pilon/{params.unicycler_polypolish_pilon_busco_out} {params.busco_outpath}.unicycler_polypolish_pilon/busco_unicycler_polypolish_pilon.txt"
380
381
shell:
    "multiqc -o {params.multiqc_out_dir} -f {params.prokka_dir_out} {params.busco_dir_out} {params.quast_dir_out} {params.pycoqc_dir_out}"
400
401
shell:
    "minimap2 {input.flye_medaka_polypolish_pilon} {input.trimmed} -x map-ont -t {params.threads} -Y -a | samtools sort -@ 6 -l 9 -m 9G > {params.minimap_dir}/{params.prefix}_minimap_pilon_sorted.bam && samtools index {params.minimap_dir}/{params.prefix}_minimap_pilon_sorted.bam && minimap2 {input.unicycler_polypolish_pilon} {input.trimmed} -x map-ont -t {params.threads} -Y -a | samtools sort -@ 6 -l 9 -m 9G > {params.minimap_dir}/{params.prefix}_minimap_pilon_unicycler_sorted.bam && samtools index {params.minimap_dir}/{params.prefix}_minimap_pilon_unicycler_sorted.bam"
423
424
shell:
    "medaka_variant -i {input.minimap_pilon_bam} -o {params.medaka_out_dir} -f {input.flye_medaka_polypolish_pilon} -t {params.threads} -m {params.model} && medaka_variant -i {input.minimap_pilon_unicycler_bam} -o {params.medaka_out_dir} -f {input.unicycler_polypolish_pilon} -t {params.threads} -m {params.model}"
ShowHide 7 more snippets with no or duplicated tags.

Login to post a comment if you would like to share your experience with this workflow.

Do you know this workflow well? If so, you can request seller status , and start supporting this workflow.

Free

Created: 1yr ago
Updated: 1yr ago
Maitainers: public
URL: https://github.com/alipirani88/Nanosake
Name: nanosake
Version: 1
Badge:
workflow icon

Insert copied code into your website to add a link to this workflow.

Downloaded: 0
Copyright: Public Domain
License: None
  • Future updates

Related Workflows

cellranger-snakemake-gke
snakemake workflow to run cellranger on a given bucket using gke.
A Snakemake workflow for running cellranger on a given bucket using Google Kubernetes Engine. The usage of this workflow ...