Releases: pph-collective/TITAN
Releases · pph-collective/TITAN
v1.2.4
v1.2.3
v1.2.2
v1.2.2
Fixes
- Floating point error on input parameters by rounding all incoming params to the nearest millionth
- Only mark agents as random trial treated if they are actually enrolled in PrEP
v1.2.1
v1.2.1
Fixes
- When an agent dies in
HIVModel.die_and_replace
, they are now replaced with an agent of the samedrug_type
- previously thedrug_type
was determined at random from the parameters on replacement.
doi_generate
This is a dummy release to link with zenodo for DOI generation
v1.2.0
v1.2.0
License and repository status
- License file updated to reflect GNU GPL v3
- Repository now public
Documentation
- Updates docstrings to the Google style
- Adds documentation and deploys github page at marshall-lab.github.io/TITAN
- Adds action for continuous deployment of docs on push to main
Features
- Adds location to the model, enabling scaling or override of parameters depending on agent's assigned location
- Agents now store their (location-specific) parameters
- Adds location edges, currently unused
- Standardized terminology and use of start times/stop times for agent attributes
- Moves creation of weights for agent initiation to a method
PrEP
- Allows array of PrEP models, enabling more flexible eligibility criteria
- Adds method to determine if agent is a man who has sex with men, per CDC criteria
- Removes unused "prep reason" feature
- Updates criteria for the CDC prep target
- Adds prep targets for PWID
v1.1.0
v1.1.0
Settings
- Scott County setting now accurately reflects the real-world setting in the time period from 2010-2020
Parameters
- Distributions defined in classes and can take a variable number of arguments
- Classes can now be used as validation items for other parameters
- See params app for parameter definitions and documentation
Partnering
- Agents can now attempt to partner with only the agents in their network component with
params.partnership.network.same_component.prob
Features
- Parameters can now be scaled based on the timestep in the model with
params.timeline_scaling
- HIV interaction and assignment can be set to start at any time step
- Reports can now aggregate by customizable classes with
params.outputs.classes
- Population can be saved to files and also uploaded from files and re-used across runs
- Syringe services program may now be implemented flexibly in time
- Partner tracing now allows user-defined probabilities for tracing separately from the probability of PrEP initiation, as well as user-defined tracing period length
prints_components
report added fields for random trials. Now prints component status for no intervention, intervention components, and intervention components with no eligible agents status.- the
agent_zero
criterion can now be defined based on number of partnerships that share a user-defined interaction type
Batch Submission
--savepop
and--poppath
added as arguments torun_titan.py
to respectively allow saving of a population after creation (but before run), or loading a saved population to run (the equivalent flags insubTitan.sh
are-p
and-P
)
Technical Notes
population
added as an attribute of agent - lightly used currently- Output writing abstracted/reorganized to make common report building steps re-usable
- Distributions can be any numpy distribution (just add to
params.classes.distributions
) or a distribution indistributions.py
- Added interaction type to edge list
- Renamed
initialize_graph
totrim_graph
v1.0.0
New
Settings
- All settings except Chicago, Scott County, and Atlanta have been deprecated
- Scott County is uncalibrated in its current form. It is meant to be used with a CSV calibration file
Parameters
- Parameters now given as .yml files separated by setting and intervention
- Injection transmission now given as flexible distribution instead of bins
- Race is now a definition, not restricted to black/white
- Sexual orientation, sex, and gender now user-defined, allowing cis/trans agents and combinations of possible sex partners
- Drug use (Inj, NonInj, None) now defined as percentage of race/orientation
- See params app for parameter definitions and documentation
Partnering
- Loop through all agents to find partners with customizable "break point"
- Allow customizable distributions for target partner number and duration, separated by bond types
- Bond types are now flexible and user-defined. Interactions are determined per bond type.
Features
- Agent 0 abstracted to allow user-defined bond type and number of bonds
- Condom use is definable by agent race, orientation/gender, and PWID status
- Death by risk factors now works as a scale on a base rate (defined on orientation, race, and PWID status)
- Syringe exchange overhauled to allow implementation and discontinuation and linear increase/decrease over time period
- Assortative mixing abstracted to allow variable definitions, based on any agent attribute
Batch Submission
- Parameters can now be swept as command-line inputs or given by CSV files
- Setting and intervention given separately as command-line inputs
- Distributed sweeps/runs
Technical Notes
- Now pypy compatible (removed scipy dependency)
- Agent sets now sets
- Integration tests split into stochastic and deterministic, stochastic allowed to fail
- Parameter error checking implemented
*run_titan
runs models in parallel if more than 1 core available (-c flag in batch script) - Results folder can now be any arbitrary directory
- Various language updates to better reflect epi usage
v0.2.0
v0.1.0
New And Improved
- PrEP allocation scenarios cleaned up, allocation by race added
- Vaccine added; allows for co-occurring PrEP and vaccines with boosters for HVTN702 and RV144
- Partial unit test coverage added
Fixes
- Removed hardcoded probabilities to a separate file
- Dead code removed
- Certain non-working features removed