Creation
Create a new pcvct project.
Public API
pcvct.createProject
— FunctioncreateProject(project_dir::String="."; clone_physicell::Bool=true, template_as_default::Bool=true, terse::Bool=false)
Create a new pcvct project structure.
Creates a new project directory at project_dir
with the following structure:
project_dir
├── data
├── PhysiCell # The latest release from https://github.com/drbergman/PhysiCell
└── scripts
data
is populated with the standard structure. PhysiCell
is a copy of PhysiCell. scripts
contains a generated GenerateData.jl
file.
Arguments
project_dir::String="."
: The directory in which to create the project. Relative paths are resolved from the current working directory where Julia was launched.clone_physicell::Bool=true
: Whether to clone the PhysiCell repository. Iffalse
, the latest release will be downloaded. Recommended to set totrue
so pcvct will be able to track changes to the PhysiCell repository.template_as_default::Bool=true
: Whether to set up the project with the template files as the default. Iffalse
, the project will be set up with an empty structure.terse::Bool=false
: Whether to generate a terseGenerateData.jl
file. Iftrue
, the file will be generated without comments and explanations.
Note
The names of the data
and PhysiCell
directories are fixed and cannot be changed. Their relative locations should not be changed without updating the GenerateData.jl
file. The name of the scripts
folder and the GenerateData.jl
are just by convention and can be changed.
Private API
pcvct.icFilename
— MethodicFilename(table_name::String)
Get the filename for the given IC type for setting up the IC folder.
pcvct.latestReleaseTag
— MethodlatestReleaseTag(repo_url::String)
Get the latest release tag from a GitHub repository.
pcvct.setUpComponents
— MethodsetUpComponents(data_dir::String, physicell_dir::String)
Set up the components directory in the data directory and populate it with the "Toy_Metabolic_Model.xml"
file.
pcvct.setUpICFolder
— MethodsetUpICFolder(path_to_template::String, inputs_dir::String, ic_name::String, folder::String)
Set up the IC folder in the inputs directory for the given IC type.
pcvct.setUpInputs
— MethodsetUpInputs(data_dir::String, physicell_dir::String, template_as_default::Bool)
Set up the inputs directory in the data directory, if the data directory does not already exist.
pcvct.setUpPhysiCell
— MethodsetUpPhysiCell(project_dir::String, clone_physicell::Bool)
Set up the PhysiCell directory in the project directory.
If the directory already exists, it will not be created again. If clone_physicell
is true
, the latest release of the PhysiCell repository will be cloned.
pcvct.setUpRequiredFolders
— MethodsetUpRequiredFolders(path_to_template::String, inputs_dir::String, folder::String)
Set up the required folders in the inputs directory.
pcvct.setUpScripts
— MethodsetUpScripts(project_dir::String, physicell_dir::String, data_dir::String, template_as_default::Bool, terse::Bool)
Set up the scripts directory in the project directory.
pcvct.setUpTemplate
— MethodsetUpTemplate(physicell_dir::String, inputs_dir::String)
Set up the template project in the inputs directory.