-
Notifications
You must be signed in to change notification settings - Fork 0
Apollo
Apollo is a comprehensive simulation software for epidemics in a population complete with within-host dynamics. It is powered by CATE, our large-scale parallel processing architecture.
Apollo is a stochastic evolutionary simulator for haploid viruses, designed to study the progression of a disease across a population. Apollo’s simulations move forward in time and aim to facilitate the design of highly dynamic and robust simulation models for studying within-host viral evolution and disease spread.
To achieve this level of granularity in epidemic capture Apollo is based on five epidemiological hierarchies.
- Network/ Population
- Host
- Within-host Tissue
- Within-host Genome
- Viral genome
As shown above, Apollo begins at the population level with the generation of contact networks that govern the transmission of the disease across the population. Next, it factors the host model, with the flexibility to implement heterogeneity in host types, accounting from tissue to cellular level dynamics with features to implement host behavioral patterns. Finally, Apollo accounts for evolutionary mechanics ranging from mutations, proofreading, recombination, and the subsequent phenotypic expressions that result in selection pressures.
Apollo is provided as part of the CATE software framework. In addition to the main simulator function, it comes equipped with its own five utility tools intended to assist with the downstream analysis of the resultant simulations.
Now, when you install CATE, you get Apollo along with it.
A key improvement of Apollo over CATE is that it can use multiple NVIDIA CUDA GPUs.
Apollo requires four different types of parameter files to function, allowing the user to configure the simulation across the five different hierarchies. Consistent with CATE these too are JSON files. They are as follows:
- Master parameter file
- Network parameter file
- Host parameter file
- Sequence parameter file
A detailed description of the setup and configuration of the Parameter files is available in Apollo's user manual. A sample set of the parameter files is available in CATE's GitHub repository.
Apollo in CATE has the main simulator tool and five utility tools. The following text provides only an overview of function execution. Please read the user manual for a detailed understanding of function execution.
This is the main simulator tool named Apollo now fully integrated into CATE. Users can pass the instruction to execute the simulator by using either --simulator
or -sim
. The main Master parameter file has to be passed into CATE along with the function.
Function execution: To execute the Apollo simulator function we pass the argument below followed by the location of the master_parameters.json file.
./CATE -sim master_parameters.json
or ./CATE --simulator master_parameters.json
As stated Apollo comes equipped with five utility functions. Let's look at what they are and how they can be executed.
Retrieves unique sequence configurations complete with the tissue, generation, sequence configuration, and frequency. The haplotype retriever also provides information on virion sequences that became parents, progeny that survived till the end of the generation, and all sequences.
Function execution: To execute the Apollo haplotype retriever function we pass the argument below followed by the location of the master_parameters.json file.
./CATE -hr master_parameters.json
or ./CATE --hapretrieve master_parameters.json
The pedigree retriever maps the parental relationships of a given sequence within a given host’s tissue from a given generation. It provides the pedigree of all sequences found in the given generation of the host’s tissues. The pedigree is traced for each sequence till the initial ancestral genomes are identified.
Function execution: To execute the Apollo pedigree retriever function we pass the argument below followed by the location of the master_parameters.json file.
./CATE -pedr master_parameters.json
or ./CATE --pedretrieve master_parameters.json
In an individual, identifies a given set of query sequences by alignment to simulated sequences by the given degree of matching segregating sites. For each matched sequence a summary of matched sequence completed with the percentage matched, mismatched bases if any and their occurrences in generation and tissue are provided.
Function execution: To execute the Apollo segregating sites matcher function we pass the argument below followed by the location of the master_parameters.json file.
./CATE -segm master_parameters.json
or ./CATE --segmatch master_parameters.json
Converts the base substitution *.csv to Apollo’s JSON format.
Function execution: To execute the Apollo base substitution model to JSON function we pass the argument below followed by the location of the master_parameters.json file.
./CATE -s2j master_parameters.json
or ./CATE --site2json master_parameters.json
Converts the recombination hotspots *.csv to Apollo’s JSON format.
Function execution: To execute the Apollo recombination hotspots to JSON function we pass the argument below followed by the location of the master_parameters.json file.
./CATE -r2j master_parameters.json
or ./CATE --recom2json master_parameters.json
A detailed user manual describing how to use CATE is provided below:
Apollo represents a revolution in epidemic modeling, offering researchers a versatile and powerful tool to explore, analyze, and anticipate various epidemic scenarios with unprecedented speed and accuracy at individual virion resolution.