Examples

This section provides practical examples of TBsim usage across different scenarios and applications.

Basic TB Simulation

The simplest way to run a TB simulation:

from tbsim import TB, TBS
import starsim as ss

# Create a basic TB simulation
sim = ss.Sim(diseases=TB())

# Run the simulation
sim.run()

# Plot results
sim.plot()

TB with Interventions

Adding BCG vaccination and treatment interventions:

from tbsim.interventions.bcg import BCGProtection
from tbsim.interventions.tpt import TPTInitiation
from tbsim import TB

# Add TB module and interventions
tb = TB()
bcg = BCGProtection()
tpt = TPTInitiation()

sim = ss.Sim(
    diseases=tb,
    interventions=[bcg, tpt]
)
sim.run()

TB-HIV Comorbidity

Modeling TB and HIV together:

from tbsim.comorbidities.hiv.hiv import HIV
from tbsim import TB

# Add both modules
tb = TB()
hiv = HIV()

sim = ss.Sim(diseases=[tb, hiv])
sim.run()

Household Networks

Using household-based social networks:

from tbsim.networks import HouseholdNet
from tbsim import TB

# Create household network and TB
households = HouseholdNet()
tb = TB()

sim = ss.Sim(
    networks=households,
    diseases=tb
)
sim.run()

Advanced Analysis

Using the built-in analyzers:

from tbsim.analyzers import DwtAnalyzer, DwtPlotter

# Analyze simulation results
analyzer = DwtAnalyzer()
results = analyzer.analyze(sim)

# Create plots
plotter = DwtPlotter()
plotter.plot(results)

Parameter Sweeps

Running multiple parameter combinations:

import numpy as np

# Define parameter ranges
transmission_rates = np.linspace(0.1, 0.5, 5)

results = []
for rate in transmission_rates:
    sim = ss.Sim(diseases=TB(pars={'beta': ss.peryear(rate)}))
    sim.run()
    results.append(sim.results)

Script Examples

The scripts/ directory contains many ready-to-run examples:

  • Basic TB: run_tb.py - Simple TB simulation

  • Interventions: run_tb_interventions.py - TB with various interventions

  • Comorbidities: run_tb_and_malnutrition.py - TB and malnutrition

  • HIV Integration: run_tbhiv_scens.py - TB-HIV scenarios

  • Calibration: tb_calibration_south_africa.py - Parameter fitting

For more detailed tutorials and step-by-step guides, see the Tutorials section.