Banded mongoose contact observations, disease spreading simulations, and analysis
Data files
Jun 04, 2026 version files 101.96 MB
-
banded-mongoose-observations-simulations-analysis.tar.gz
101.95 MB
-
README.md
6.34 KB
Abstract
We provide behavioral observations of banded mongooses (Mungos mungo) from the Mweya Peninsula, Queen Elizabeth National Park, Uganda (Dec 2005–Nov 2007), spanning 7–8 social groups and 364 identifiable individuals. Observers recorded allogrooming, allomarking, anogenital inspection, and scent-marking events with actor/recipient identities, timestamps, group labels, and marking-site coordinates. From these records, we derived multiplex temporal contact networks (weekly snapshots) with separate layers for direct and indirect contacts, and we generated two families of augmented networks that incorporate stochastic intergroup over-marking to represent socially directed, environmentally mediated transmission. We further include outputs from pathogen-spreading simulations over a grid of direct and indirect transmissibility values, reporting prevalence, R0, and transmission event logs. Code and containerized environments (Docker/Jupyter) are provided to reproduce network construction, simulations, and figures from standardized source data. Together, these resources support re-analysis of this system, methodological development for temporal and multilayer networks, and comparative studies of indirect/environmental transmission in socially structured wildlife populations.
DOI:10.5061/dryad.f1vhhmh8n
Directory Structure
.
├─ code
│ ├─ notebooks/ # Jupyter notebooks, each named with a sequence prefix
│ └─ simulation/ # Python code for running the simulations
├─ containers
│ ├─ jupyter # Jupyter container files
│ │ ├─ Dockerfile # Definition for Jupyter environment
│ │ └─ environment.yml # Specifies the conda environment
│ └─ sim # Simulation container files
│ ├─ Dockerfile # Definition for Simulation environment
│ └─ requirements.txt # Specifies the dependencies to be installed with pip
├─ data
│ ├─ calculated/ # Intermediate calculated data from the Jupyter notebooks
│ ├─ networks/ # Contact network model data files
│ ├─ simulation-output/ # Simulation output data extracted from the database
│ └─ source/ # Standardized original data files
├─ database/ # Mount point for the postgres database
├─ figures/ # Publication figures created by the Jupyter notebooks
├─ docker-compose.yaml # Defines the services and how they work together
└─ README.md # This file
Containers
An environment for this research is maintained in a set of Docker containers, supporting reproducibility of computation and isolation from the host environment. The configuration for each container is included within its own folder under ./containers.
The full environment is specified in ./docker-compose.yaml.
Jupyter
The Jupyter container (mongoose-network-simulation-jupyter) builds on the jupyter/datascience-notebook base image from https://github.com/jupyter/docker-stacks. The container is configured to run Jupyter Lab, accessible on host port 8888. The root folder for this workspace is bind-mounted at /home/jovyan/work, enabling access to this entire folder from within Jupyter Lab.
When the container is running, Jupyter Lab may be accessed at http://localhost:8888.
Postgres
The Postgres container (mongoose-network-simulation-db) uses the postgres:12.3 image with no modifications. The folder ./databases/.pgdata is bind-mounted to the postgres data directory within the container. As such, the .pgdata directory should be completely managed by this container, and should not be accessed or modified separately.
psql can be launched in an interactive mode using the command docker-compose exec db psql -U postgres.
Simulations
The sim container (mongoose-network-simulation-sim) provides a simple Python 3.8.3 environment for running the simulation code. Python dependencies are installed using pip, as specified in the requirements.txt file in the container folder. The root folder for this workspace is bind-mounted at /app/mongoose-network-simulation.
Simulations can be run using docker-compose exec -w /app/mongoose-network-simulation/code/simulation sim python simulate.py.
Data
Please see the README files in the data/ subfolders for details on the data files contained in each.
Calculated Data (data/calculated/)
Results of calculations performed for data analysis in the Jupyter notebooks.
all-networks-causal-path-counts.csv: Counts of the causal paths in each network.all-networks-contacts-per-week.csv: Counts of the number of contacts in the networks, for each week for each network, by contact type.augmented-networks-reachability.csv: Counts of the number of individuals reachable through network contacts, starting with a particular mongoose.
Contact Networks (data/networks/)
Directed contact networks in CSV format, constructed from observation data.
network-observed-contacts.csv: Network constructed from only observation data.agumented/*.csv: Networks constructed from observation data combined with synthetic indirect marking contacts.
Simulation Output (data/simulation-output/)
augmented-networks-final-compartment-counts.csv: Final compartment count stats across simulation runs, by network, initial infected individual, and transmissibility.augmented-networks-summary-compartment-counts.csv: Compartment count stats across simulation runs, by network, transmissibility, and period (week).augmented-networks-transmission-events-from-index.csv: Transmission events from the initially-infected individual in each simulation run, used for calculating the basic reproduction number ($R_0$).observed-network-final-compartment-counts.csv: Final compartment count stats across simulation runs, initial infected individual, and transmissibility.observed-network-summary-compartment-counts.csv: Compartment count stats across simulation runs, by transmissibility and period (week).observed-network-transmission-events-from-index.csv: Transmission events from the initially-infected individual in each simulation run, used for calculating the basic reproduction number ($R_0$).
Source Data (data/source/)
Behavioral observations collected from December 2005 to November 2007 from seven (in 2006) or eight (2007) wild groups of habituated, individually identifiable banded mongooses living on and around Mweya Peninsula, Queen Elizabeth National Park, Uganda (0°11′20″S, 29°15′40″E).
group-membership.csv: Group membership for each date in the observation period, for each individual mongoose.home-range-overlaps.csv: Home range overlap percentage between neighboring groups.mongooses.csv: Master list of observed mongooses.observations-allomarking.csv: Observations of allomarking--direct marking of an individual by another.observations-anogenital-inspection.csv: Observations of anogenital inspection behavior.observations-grooming.csv: Observations of allogrooming behavior.observations-inter-pack-encounter.csv: Observed encounters of mongoose groups.observations-marking.csv: Observed intra-pack marking events.
