Files
synthea-alldiseases/nextflow.config

52 lines
1.4 KiB
Plaintext

// Nextflow configuration file
manifest {
description = 'Synthea Module Generator Pipeline'
}
// Load parameters from params.json
def paramsJson = new File("$baseDir/params.json").text
def paramsData = new groovy.json.JsonSlurper().parseText(paramsJson)
// Merge with defaults
params {
disease_name = paramsData.disease_name
modules_dir = paramsData.modules_dir ?: "/Users/richman/workspace/synthea-alldiseases/modules"
output_dir = paramsData.output_dir ?: "output"
population = paramsData.population ?: 100
gender = paramsData.gender ?: 0.5
min_age = paramsData.min_age ?: 0
max_age = paramsData.max_age ?: 90
seed = paramsData.seed
generate_patients = paramsData.generate_patients ?: true
publish_dir = paramsData.publish_dir ?: "published_output"
// Additional params
max_cost = 5.0
timeout = 300
anthropic_api_key = null
batch_size = 1
help = false
}
docker {
enabled = true
runOptions = "-v $baseDir/$params.modules_dir:/app/src/main/resources/modules -v $baseDir/src/main/python:/app/src/main/python -v $baseDir/src/main/resources:/app/src/main/resources -v $baseDir/.env:/app/.env"
}
process {
container = 'synthea-module-generator'
containerOptions = "-e MODULES_DIR=/app/src/main/resources/modules -e PYTHONPATH=/app -e ANTHROPIC_API_KEY=${params.anthropic_api_key}"
}
trace {
enabled = true
overwrite = true
file = "$baseDir/trace.txt"
}
profiles {
standard {
process.executor = 'local'
}
}