Skip to content
Merged
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
58 changes: 43 additions & 15 deletions sequana_pipelines/laa/laa.rules
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,10 @@ if do_snpeff:
rule copy_genbank:
input: config["annotation_file"]
output: __copy_genbank__output
log:
"logs/copy_genbank.log"
shell:
"""cp {input} {output}"""
"""cp {input} {output} >{log} 2>&1"""
expected_output.append(__copy_genbank__output)


Expand All @@ -113,10 +115,12 @@ if laa is True:
threads: 2
container:
config["apptainers"]["laa"]
log:
"logs/bc{sample}/laa.log"
shell:
"""
cd {params.directory}
laa --noPhasing --minLength 1000 --maxReads 2400 --numThreads={threads} {input}
(cd {params.directory} && \
laa --noPhasing --minLength 1000 --maxReads 2400 --numThreads={threads} {input}) >{log} 2>&1
"""


Expand All @@ -130,9 +134,11 @@ if bam2ccs:
threads: 4
container:
config['apptainers']['ccs']
log:
"logs/bc{sample}/bam2ccs.log"
shell:
"""
ccs {input} {output} --numThreads {threads}
ccs {input} {output} --numThreads {threads} >{log} 2>&1
"""


Expand All @@ -142,9 +148,11 @@ if ccs2fastq:
output: "fastq/{sample}/data.fastq"
container:
config['apptainers']['samtools']
log:
"logs/{sample}/ccs2fastq.log"
shell:
"""
samtools fastq {input} > {output}
samtools fastq {input} > {output} 2>{log}
"""


Expand Down Expand Up @@ -216,9 +224,11 @@ else:
src=reference_file
output:
src=new_reference
log:
"logs/copy_reference.log"
shell:
"""
cp {input.src} {output.src}
cp {input.src} {output.src} >{log} 2>&1
"""


Expand Down Expand Up @@ -269,30 +279,36 @@ rule mapping:
rule samtools_stats:
input: "{sample}/mapping/mapping.sorted.bam"
output: "{sample}/mapping/samtools_{sample}.txt"
log:
"logs/{sample}/samtools_stats.log"
container:
config['apptainers']['samtools']
shell:
"samtools stats -in {input} > {output}"
"samtools stats -in {input} > {output} 2>{log}"


rule bamtools_stats:
input: "{sample}/mapping/mapping.sorted.bam"
output: "{sample}/mapping/sequana_bamtools_stats_{sample}.txt"
log:
"logs/{sample}/bamtools_stats.log"
container:
config['apptainers']['sequana_tools']
shell:
"bamtools stats -in {input} > {output}"
"bamtools stats -in {input} > {output} 2>{log}"


rule mapping_index:
input: "{sample}/mapping/mapping.sorted.bam"
output: "{sample}/mapping/mapping.sorted.bam.bai"
threads:
1
log:
"logs/{sample}/mapping_index.log"
container:
config['apptainers']['sequana_tools']
shell:
"bamtools index -in {input}"
"bamtools index -in {input} >{log} 2>&1"


if do_freebayes:
Expand Down Expand Up @@ -322,11 +338,13 @@ if do_split_multiallelic:
"{sample}/freebayes/variants.raw.vcf"
output:
"{sample}/freebayes/variants.raw.split.vcf"
log:
"logs/{sample}/split_multiallelic.log"
container:
config['apptainers']['sequana_tools']
shell:
"""
bcftools norm -m -both {input} | vt decompose_blocksub - > {output}
(bcftools norm -m -both {input} | vt decompose_blocksub -) > {output} 2>{log}
"""
__freebayes__output = __split_multiallelic__output

Expand Down Expand Up @@ -464,6 +482,9 @@ rule rulegraph:
manager.get_run("rulegraph/run", "v1")(input, output, params)


localrules: rulegraph, dot2svg


rule dot2svg:
input:
"rulegraph/rulegraph.dot"
Expand Down Expand Up @@ -613,12 +634,14 @@ rule mafft:
aln="outputs/mafft/mafft.aln.fa"
threads:
2
log:
"logs/mafft.log"
container:
config['apptainers']['sequana_tools']
shell:
"""
mafft --thread {threads} --retree 1 --maxiterate 0 --add {input.fasta} \
--keeplength {input.reference} > {output.aln}
--keeplength {input.reference} > {output.aln} 2>{log}
"""


Expand Down Expand Up @@ -649,14 +672,16 @@ rule raxml_mltree:
N=config['raxml_mltree']['N'],
options=config['raxml_mltree']['options'],
wkdir=os.path.abspath("outputs/raxml")
log:
"logs/raxml_mltree.log"
container:
config['apptainers']['raxml']
shell:
"""
# First, let us get a best likelihood tree from 20 ML trees
mkdir -p outputs/raxml && \
rm -f outputs/raxml/*T1111* &&\
raxmlHPC-PTHREADS -m GTRGAMMA -s {input.aln} -p 12345 -T {threads} -w {params.wkdir} -N {params.N} -n T1111 1>{output.log}
raxmlHPC-PTHREADS -m GTRGAMMA -s {input.aln} -p 12345 -T {threads} -w {params.wkdir} -N {params.N} -n T1111 1>{output.log} 2>{log}
"""


Expand Down Expand Up @@ -712,6 +737,8 @@ rule raxml_bipartitions:
params:
wkdir=os.path.abspath("outputs/raxml")
threads: 1
log:
"logs/raxml_bipartitions.log"
container:
config['apptainers']['raxml']
shell:
Expand All @@ -720,7 +747,7 @@ rule raxml_bipartitions:
mkdir -p outputs/raxml
rm -f outputs/raxml/*T3333*

raxmlHPC -m GTRCAT -f b -p 12345 -w {params.wkdir} -t {input.best} -z {input.boot} -n T3333
raxmlHPC -m GTRCAT -f b -p 12345 -w {params.wkdir} -t {input.best} -z {input.boot} -n T3333 >{log} 2>&1

"""

Expand Down Expand Up @@ -809,7 +836,8 @@ rule remapping:
rule build_fasta:
input: expand("{sample}/consensus/consensus.fa", sample=sorted(manager.samples))
output: "outputs/allfasta.fa"
shell: "cat {input} > {output}"
log: "logs/build_fasta.log"
shell: "cat {input} > {output} 2>{log}"


if do_kraken:
Expand Down Expand Up @@ -1076,7 +1104,7 @@ this <a href="multiqc_report.html">multiqc report.</a></p>
sample_summary['kraken_json'] = json.loads(k._get_stats().to_json())
conf.summary_sections.append({
"name": "Kraken ",
"anchor'": "kraken",
"anchor": "kraken",
"content": k._get_summary_section()
})

Expand Down
Loading