# The main entry point of your workflow.
include: "rules/common.smk"

if any(samplesheet.SAMPLE_ID.duplicated()):
    sys.exit("Sample sheet contains duplicated sample ids")

if all(samplesheet.precPloidy.notna()) and all(samplesheet.precPurity.notna()):
    sys.exit("all ploidy and purity values are precomputed - Run `Rscript scripts/processPrecomputed.R` and skip to stage_2")

SAMPLES = list(samplesheet['SAMPLE_ID'].unique())
FILE_LIST = list(samplesheet['file'].unique())

localrules: all, check_bam, sym_link

rule all:
    input:
        expand(OUT_DIR+"sWGS_fitting/{project}_{bin}kb/absolute_PRE_down_sampling/{project}_fit_QC_predownsample.tsv",project=config["project_name"],bin=config["bins"])

# pipeline rules
include: "rules/bam_check.smk"
include: "rules/process_bam.smk"
include: "rules/rel_rds.smk"
include: "rules/gridsearch.smk"
include: "rules/filter_gridsearch.smk"
