/*
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Nextflow config file for running minimal tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Defines input files and everything required to run a fast and simple pipeline test.

    Use as follows:
        nextflow run nf-core/scdownstream -profile test,<docker/singularity> --outdir <OUTDIR>

----------------------------------------------------------------------------------------
*/

process {
    resourceLimits = [
        cpus: 4,
        memory: '15.GB',
        time: '1.h'
    ]
}

params {
    config_profile_name        = 'Test profile'
    config_profile_description = 'Minimal test dataset to check pipeline function'

    // Input data
    input                  = params.pipelines_testdata_base_path + 'samplesheet.csv'
    integration_methods    = 'scvi,symphony,bbknn,combat'
    doublet_detection      = 'solo,scrublet,scdblfinder'
    celltypist_model       = 'Adult_Human_Skin'
    celldex_reference      = 'https://raw.githubusercontent.com/nf-core/test-datasets/scdownstream/singleR/references.csv'
    // CyteType calls a slow remote LLM API — covered by module nf-tests only
    cytetype_study_context = ''
    integration_n_features = 500
    feature_selection      = 'hvgs'
    scvi_max_epochs        = 2
    scib                   = true
}

process {
    withName: SCVITOOLS_SCVI {
        ext.max_epochs = 5
    }
    withName: SCVITOOLS_SCANVI {
        ext.max_epochs = 5
    }
    withName: CELLBENDER_REMOVEBACKGROUND {
        ext.args = '--epochs 2'
    }
}
