package uk.ac.ox.zoo.seeg.abraid.mp.common.service.workflow.support.runrequest;
import uk.ac.ox.zoo.seeg.abraid.mp.common.config.ModellingConfiguration;
import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.CovariateFile;
import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.DiseaseGroup;
import java.io.File;
import java.io.IOException;
import java.util.Collection;
/**
* Interface to provide a mechanism for generating model run scripts.
* Copyright (c) 2014 University of Oxford
*/
public interface ScriptGenerator {
/**
* Creates a model run script file in the working directory for the given configuration.
* @param modellingConfiguration The model run configuration.
* @param workingDirectory The directory in which the script should be created.
* @param diseaseGroup The disease group being modelled.
* @param covariates The covariate file to use in the model.
* @return The script file.
* @throws IOException Thrown in response to issues creating the script file.
*/
File generateScript(ModellingConfiguration modellingConfiguration, File workingDirectory, DiseaseGroup diseaseGroup,
Collection<CovariateFile> covariates)
throws IOException;
}