Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions containers/HPC/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,6 @@ RUN HYBRACTER_PKG=$(python3 -c "import hybracter, os; print(os.path.dirname(hybr
touch ${HYBRACTER_PKG}/databases/medaka.flag
RUN python3 -c "import hybracter, os; print(os.listdir(os.path.join(os.path.dirname(hybracter.__file__), 'databases')))"
RUN hybracter install --medaka
RUN hybracter test-hybrid --use-conda -t 8 -o hybracter_out_hybrid
RUN hybracter test-long --use-conda -t 8 -o hybracter_out_long
RUN rm -rf hybracter_out_long hybracter_out_hybrid
RUN hybracter test-hybrid --use-conda -t 8 -o hybracter_out_hybrid --contaminants lambda
RUN hybracter test-long --use-conda -t 8 -o hybracter_out_long --contaminants lambda
RUN rm -rf hybracter_out_long hybracter_out_hybrid hybracter_out_contam
50 changes: 0 additions & 50 deletions containers/minimal/Dockerfile

This file was deleted.

2 changes: 1 addition & 1 deletion hybracter/hybracter.VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
0.14.0
0.14.1
47 changes: 26 additions & 21 deletions hybracter/workflow/rules/assess/assess_complete.smk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
scores need to be sequential so that it can easily be aggregated based on a polca flag or not - otherwise I need another rule

assess all the genome (including plasmids).
assess all the genome (including plasmids).

This is to avoid the Medaka polishing style errors when you use the whole read set to polish only certain contigs

Expand All @@ -27,7 +27,8 @@ rule assess_chrom_pre_polish:
ale=temp(
os.path.join(dir.out.ale_out_files, "{sample}", "chrom_pre_polish.ale")
),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_chrom_pre_polish_1.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_chrom_pre_polish_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -41,10 +42,10 @@ rule assess_chrom_pre_polish:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""


Expand All @@ -62,7 +63,8 @@ rule assess_medaka_rd_1:
output:
score=os.path.join(dir.out.ale_scores_complete, "{sample}", "medaka_rd_1.score"),
ale=temp(os.path.join(dir.out.ale_out_files, "{sample}", "medaka_rd_1.ale")),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_medaka_rd_1.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_medaka_rd_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -76,10 +78,10 @@ rule assess_medaka_rd_1:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""


Expand All @@ -96,7 +98,8 @@ rule assess_medaka_rd_2:
output:
score=os.path.join(dir.out.ale_scores_complete, "{sample}", "medaka_rd_2.score"),
ale=temp(os.path.join(dir.out.ale_out_files, "{sample}", "medaka_rd_2.ale")),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_medaka_rd_2.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_medaka_rd_2.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -109,10 +112,10 @@ rule assess_medaka_rd_2:
os.path.join(dir.out.stderr, "ale", "{sample}_medaka_rd_2.log"),
shell:
"""
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""


Expand All @@ -128,7 +131,8 @@ rule assess_polypolish:
output:
score=os.path.join(dir.out.ale_scores_complete, "{sample}", "polypolish.score"),
ale=temp(os.path.join(dir.out.ale_out_files, "{sample}", "polypolish.ale")),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_polypolish.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_polypolish.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -142,10 +146,10 @@ rule assess_polypolish:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""


Expand All @@ -161,7 +165,8 @@ rule assess_pypolca:
output:
score=os.path.join(dir.out.ale_scores_complete, "{sample}", "pypolca.score"),
ale=temp(os.path.join(dir.out.ale_out_files, "{sample}", "pypolca.ale")),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_pypolca.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_pypolca.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -175,8 +180,8 @@ rule assess_pypolca:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""
29 changes: 16 additions & 13 deletions hybracter/workflow/rules/assess/assess_complete_no_medaka.smk
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
"""
scores need to be sequential so that it can easily be aggregated based on a polca flag or not - otherwise I need another rule

assess all the genome (including plasmids).
assess all the genome (including plasmids).

This is to avoid the Medaka polishing style errors when you use the whole read set to polish only certain contigs

Expand All @@ -27,7 +27,8 @@ rule assess_chrom_pre_polish:
ale=temp(
os.path.join(dir.out.ale_out_files, "{sample}", "chrom_pre_polish.ale")
),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_chrom_pre_polish_1.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_chrom_pre_polish_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -41,10 +42,10 @@ rule assess_chrom_pre_polish:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""


Expand All @@ -62,7 +63,8 @@ rule assess_polypolish:
output:
score=os.path.join(dir.out.ale_scores_complete, "{sample}", "polypolish.score"),
ale=temp(os.path.join(dir.out.ale_out_files, "{sample}", "polypolish.ale")),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_polypolish.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_polypolish.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -76,10 +78,10 @@ rule assess_polypolish:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""


Expand All @@ -95,7 +97,8 @@ rule assess_pypolca:
output:
score=os.path.join(dir.out.ale_scores_complete, "{sample}", "pypolca.score"),
ale=temp(os.path.join(dir.out.ale_out_files, "{sample}", "pypolca.ale")),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_pypolca.sam")),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_pypolca.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -109,8 +112,8 @@ rule assess_pypolca:
shell:
"""
bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} {input.r2} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {log}
rm {params.sam1} {log}
"""
34 changes: 20 additions & 14 deletions hybracter/workflow/rules/assess/assess_incomplete.smk
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,11 @@ rule assess_incomp_pre_polish:
ale=temp(
os.path.join(dir.out.ale_out_files, "{sample}", "incomp_pre_polish.ale")
),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_incomp_pre_polish_1.sam")),
score=os.path.join(
dir.out.ale_scores_incomplete, "{sample}", "incomp_pre_polish.score"
),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_incomp_pre_polish_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -32,9 +33,10 @@ rule assess_incomp_pre_polish:
"""

bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {params.sam1}
"""


Expand All @@ -53,10 +55,11 @@ rule assess_medaka_incomplete:
ale=temp(
os.path.join(dir.out.ale_out_files, "{sample}", "medaka_incomplete.ale")
),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_medaka_incomplete_1.sam")),
score=os.path.join(
dir.out.ale_scores_incomplete, "{sample}", "medaka_incomplete.score"
),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_medaka_incomplete_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -69,9 +72,10 @@ rule assess_medaka_incomplete:
os.path.join(dir.out.stderr, "ale", "{sample}_incomp_medaka.log"),
shell:
"""
bwa mem -t {threads} -a {input.fasta} {input.r1} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {params.sam1}
"""


Expand All @@ -91,12 +95,11 @@ rule assess_polypolish_incomplete:
dir.out.ale_out_files, "{sample}", "polypolish_incomplete.ale"
)
),
sam1=temp(
os.path.join(dir.out.ale_sams, "{sample}_polypolish_incomplete_1.sam")
),
score=os.path.join(
dir.out.ale_scores_incomplete, "{sample}", "polypolish_incomplete.score"
),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_polypolish_incomplete_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -111,9 +114,10 @@ rule assess_polypolish_incomplete:
"""

bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {params.sam1}
"""


Expand All @@ -133,10 +137,11 @@ rule assess_polca_incomplete:
ale=temp(
os.path.join(dir.out.ale_out_files, "{sample}", "pypolca_incomplete.ale")
),
sam1=temp(os.path.join(dir.out.ale_sams, "{sample}_pypolca_incomplete_1.sam")),
score=os.path.join(
dir.out.ale_scores_incomplete, "{sample}", "pypolca_incomplete.score"
),
params:
sam1=os.path.join(dir.out.ale_sams, "{sample}_pypolca_incomplete_1.sam"),
conda:
os.path.join(dir.env, "ale.yaml")
resources:
Expand All @@ -151,7 +156,8 @@ rule assess_polca_incomplete:
"""

bwa index {input.fasta}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {output.sam1} 2> {log}
ALE {output.sam1} {input.fasta} {output.ale} 2> {log}
bwa mem -t {threads} -a {input.fasta} {input.r1} > {params.sam1} 2> {log}
ALE {params.sam1} {input.fasta} {output.ale} 2> {log}
grep "# ALE_score: " {output.ale} | sed 's/# ALE_score: //' > {output.score}
rm {params.sam1}
"""
Loading
Loading