Skip to content

Commit

Permalink
use function get_assembly
Browse files Browse the repository at this point in the history
  • Loading branch information
SilasK committed Jul 26, 2023
1 parent 8062f18 commit e7d3b3e
Show file tree
Hide file tree
Showing 5 changed files with 27 additions and 16 deletions.
6 changes: 3 additions & 3 deletions workflow/rules/assemble.smk
Original file line number Diff line number Diff line change
Expand Up @@ -608,7 +608,7 @@ rule finalize_contigs:

rule calculate_contigs_stats:
input:
"{sample}/{sample}_contigs.fasta",
get_assembly,
output:
"{sample}/assembly/contig_stats/final_contig_stats.txt",
conda:
Expand Down Expand Up @@ -648,7 +648,7 @@ rule align_reads_to_final_contigs:

rule pileup_contigs_sample:
input:
fasta="{sample}/{sample}_contigs.fasta",
fasta=get_assembly,
bam="{sample}/sequence_alignment/{sample}.bam",
output:
covhist="{sample}/assembly/contig_stats/postfilter_coverage_histogram.txt",
Expand Down Expand Up @@ -702,7 +702,7 @@ rule create_bam_index:

rule predict_genes:
input:
"{sample}/{sample}_contigs.fasta",
get_assembly,
output:
fna="{sample}/annotation/predicted_genes/{sample}.fna",
faa="{sample}/annotation/predicted_genes/{sample}.faa",
Expand Down
14 changes: 6 additions & 8 deletions workflow/rules/binning.smk
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
from glob import glob

BINNING_CONTIGS = "{sample}/{sample}_contigs.fasta"


include: "bin_quality.smk"


rule pileup_for_binning:
input:
fasta=BINNING_CONTIGS,
fasta=get_assembly,
bam="{sample}/sequence_alignment/{sample_reads}.bam",
output:
covstats="{sample}/binning/coverage/{sample_reads}_coverage_stats.txt",
Expand Down Expand Up @@ -79,7 +77,7 @@ rule combine_coverages:
rule run_concoct:
input:
coverage="{sample}/binning/coverage/combined_coverage.tsv",
fasta=BINNING_CONTIGS,
fasta=get_assembly,
output:
"{{sample}}/binning/concoct/intermediate_files/clustering_gt{}.csv".format(
config["concoct"]["min_contig_length"]
Expand Down Expand Up @@ -159,7 +157,7 @@ def get_metabat_sensitivity():
rule metabat:
input:
depth_file=rules.get_metabat_depth_file.output,
contigs=BINNING_CONTIGS,
contigs=get_assembly,
output:
"{sample}/binning/metabat/cluster_attribution.tmp",
params:
Expand Down Expand Up @@ -190,7 +188,7 @@ rule metabat:

rule maxbin:
input:
fasta=BINNING_CONTIGS,
fasta=get_assembly,
abund="{sample}/binning/coverage/{sample}_coverage.txt",
output:
directory("{sample}/binning/maxbin/intermediate_files"),
Expand Down Expand Up @@ -307,7 +305,7 @@ rule get_maxbin_cluster_attribution:
rule get_bins:
input:
cluster_attribution="{sample}/binning/{binner}/cluster_attribution.tsv",
contigs=BINNING_CONTIGS,
contigs=get_assembly,
output:
directory("{sample}/binning/{binner}/bins"),
conda:
Expand Down Expand Up @@ -337,7 +335,7 @@ rule run_das_tool:
"{{sample}}/binning/DASTool/{binner}.scaffolds2bin",
binner=config["binner"],
),
contigs=BINNING_CONTIGS,
contigs=get_assembly,
proteins="{sample}/annotation/predicted_genes/{sample}.faa",
output:
"{sample}/binning/DASTool/{sample}_DASTool_summary.tsv",
Expand Down
4 changes: 2 additions & 2 deletions workflow/rules/cobinning.smk
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ localrules:

rule filter_contigs:
input:
"{sample}/{sample}_contigs.fasta",
get_assembly,
output:
temp("Cobinning/filtered_contigs/{sample}.fasta"),
params:
Expand Down Expand Up @@ -36,7 +36,7 @@ localrules:
rule combine_contigs:
input:
#Trigers rerun if contigs change
flag=expand("{sample}/{sample}_contigs.fasta", sample=SAMPLES),
flag=expand("{sample}/{sample}_contigs.fasta", sample=SAMPLES), #TODO: this shoule be adapted using function get_assemblies
fasta=ancient(expand(rules.filter_contigs.output[0], sample=SAMPLES)),
output:
"Cobinning/combined_contigs.fasta.gz",
Expand Down
15 changes: 14 additions & 1 deletion workflow/rules/sample_table.smk
Original file line number Diff line number Diff line change
Expand Up @@ -182,4 +182,17 @@ def get_quality_controlled_reads(wildcards, include_se=False):


def get_assembly(wildcards):
return "{sample}/assembly/{sample}_contigs.fasta".format(sample=wildcards.sample )
"""
Returns Assembly file for a given sample.
"""

Header= "Assembly"
try:
return get_files_from_sampleTable(wildcards.sample, Header)

except FileNotInSampleTableException:
# return files as named by atlas pipeline

return "{sample}/assembly/{sample}_contigs.fasta".format(sample=wildcards.sample )

4 changes: 2 additions & 2 deletions workflow/rules/semibin.smk
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ rule semibin_generate_data_multi:

rule semibin_train:
input:
"{sample}/{sample}_contigs.fasta",
get_assembly,
fasta=rules.filter_contigs.output,
bams=expand(rules.sort_bam.output, sample=SAMPLES),
data="Cobinning/SemiBin/samples/{sample}/data.csv",
Expand Down Expand Up @@ -66,7 +66,7 @@ rule semibin_train:

rule run_semibin:
input:
"{sample}/{sample}_contigs.fasta",
get_assembly,
fasta=rules.filter_contigs.output,
bams=expand(rules.sort_bam.output, sample=SAMPLES),
data="Cobinning/SemiBin/samples/{sample}/data.csv",
Expand Down

0 comments on commit e7d3b3e

Please sign in to comment.