import os
from dotenv import load_dotenv

load_dotenv()

configfile: "config/main.yaml"
configfile: "config/dependencies.yaml"
configfile: "../reference/species_list.yaml"

module preparation:
    snakefile: "rules/preparation.smk"
    config: config

module baseline:
    snakefile: "rules/baseline_pipeline.smk"
    config: config

module ml:
    snakefile: 'rules/ml_pipeline.smk'
    config: config
# Pulldown
rule all:
    input:
        #"binaries/datasets",
        #f"{config['dorado_model_dir']}/{config['fast_model_name']}",
        #f"{config['dorado_model_dir']}/{config['hac_model_name']}",
        #'../data/reference_genomes/full_reference.mmi',
        #'../data/raw_pod5/'
        #'../data/pod5_files_to_pull',
        #'../data/basecalled_reads/hac.fastq.gz'
        #expand('../data/raw_pod5/PBK98658_853a956f_57f83f46_{batch}.pod5',batch=range(1,config["pod5_dataset_size"]+1,config["pod5_stride"]))
        '../data/aligned_reads/nomiss_hac_to_genome.sorted.bam',
        '../data/aligned_reads/trap_hac_to_genome.sorted.bam'
        #'../data/ml_inputs/hac_label_store.pq'
        #'../data/ml_inputs/model_layouts/cnn_512_4_100000_11_4.json'

use rule * from preparation
use rule * from baseline
use rule * from ml
