Snakefile "ymp/rules/scnic.rules"
Env(name="scnic", base="bioconda", packages="scnic")
rule scnic_within_minsamp:
""""""
message:
"Building cooccurence modules using SCNIC"
input:
biom_table = "{dir}/otu_table.biom"
wildcard_constraints:
min_samples = "(s[0-9]+|)",
min_r = "(r[0-9][0-9])?"
output:
modules = "{dir}.SCNIC{min_samples}{min_r}/modules.txt"
threads:
8
conda:
"scnic"
params:
min_samples = lambda wc: wc.min_samples[1:] if wc.min_samples else 0,
min_r = lambda wc: wc.min_r[1:] if wc.min_r else 35,
method="sparcc"
shell: """
SCNIC_analysis.py within \
-i {input.biom_table} \
-o $(dirname {output.modules}) \
-s {params.min_samples} \
--min_r 0.{params.min_r} \
-m {params.method}
touch {output.modules}
"""
rule scnic_within_sparcc_filter:
""""""
message:
"Building cooccurence modules from {input.biom_table} using SCNIC"
input:
biom_table = "{dir}/otu_table.biom"
wildcard_constraints:
min_r = "(r[0-9][0-9])?"
output:
modules = "{dir}.SCNICsf{min_r}/modules.txt",
collapsed = "{dir}.SCNICsf{min_r}/collapsed.biom"
threads:
8
conda:
"scnic"
params:
min_r = lambda wc: wc.min_r[1:] if wc.min_r else 35,
method="sparcc"
shell: """
SCNIC_analysis.py within \
-i {input.biom_table} \
-o $(dirname {output.modules}) \
--sparcc_filter \
--min_r 0.{params.min_r} \
-m {params.method} \
--procs {threads}
touch {output.modules}
"""