Giter Site home page Giter Site logo

phil's Introduction

Public Health Influenza Laboratory (PHIL)

Synopsis

PHIL uses agent-based modeling based on census-based synthetic populations that capture the demographic and geographic distributions of the population, as well as detailed household, school, and workplace social networks. Multiple circulating and evolving strains can be simulated. Mitigation strategies in the framework include vaccination, anti-viral drugs, and school closure policies. PHIL supports models of health behavior change to facilitate the study of critical personal health behaviors such as vaccine acceptance, personal hygiene and spontaneous social distancing.

  • Realistic synthetic populations based on the US Census Bureau’s Public Use Microdata files (PUMs) and Census aggregated data. Each agent has a set of socio-demographic characteristics and daily behaviors that include age, sex, employment status, occupation, and household location and membership. Each household, school, and workplace is mapped to a specific geographic location, reflecting the actual spatial distribution of the area and the distance travelled by individuals to work or to school. The synthetic population was developed by RTI International as part of the MIDAS project and is freely available.

  • Specification of agent health status and social networks. Each agent in PHIL has associated health information (e.g., current health status, date of infection, level of symptoms, infectiousness, and susceptibility). During each simulated day, agents interact with the other agents who share the same social activity locations (i.e., children interact with other children in the same classroom at school). If an infectious agent interacts with a susceptible agent, there is a possibility transmission of disease. PHIL simulates the population of agents during a period of time, usually several months or years, and tracks the spread of disease among the population.

  • Specification of agent health behavior and decision rules. Agents in PHIL may exhibit a number of health-related behaviors involving individual health decisions, such as staying home when sick, accepting a vaccine or taking an anti-viral drug. The PHIL platform is designed to accommodate research on a range of theoretical models about health behavior and supports a variety of strategies to determine an agent’s willingness to adopt a behavior.

  • Scalable. PHIL can run on a variety of computer platforms from laptops to supercomputers, depending on the size of the population being simulated.

Code Example

phil takes as a single argument a 'params' file. See the input_files directory for examples.

Motivation

Our agent-based influenza modeling framework, PHIL, has been developed during our R01 and is a highly modified version of the open source agent-based simulation platform called FRED (A Framework for Reconstructing Epidemic Dynamics) in collaboration with the Pittsburgh Supercomputing Center and the School of Computer Science at Carnegie Mellon University. Development of both PHIL and FRED were developed as part of the NIH funded MIDAS program. PHIL enables us to simulate the daily activities and interactions of millions of simulated individuals during an epidemic and to measure the effects of a wide range of intervention strategies for infectious disease. The MIDAS group has used such population-based computer simulations to evaluate potential responses to influenza pandemics, including vaccination policies (Lee et al, 2010acd, 2011), school closure (Lee et al, 2010b; Brown et al, 2011), and the effects of commuting modalities (Cooley et al, 2011). Key features of FRED include: Dr. Brown, Co-I, is well versed in the utilization of PHIL for modeling simulations.

Installation

Compilation should be straightforward on both linux and OSX platforms. In order to take advantage of multithreading through OpenMP, the gcc compiler should be used.

cd src
make
cd ..
make

License

Both phil and FRED (on which phil is based), are distributed under the "BSD Simplified" open source license. Please refer to the contents of the directory LICENSE for detailed text of the license. Code changes prior to the commit 895218b6e8a788ecf959ba535bf580bc240262be are copyright of the University of Pittsburgh. All subsequent changes are copyright of Carnegie Mellon University.

phil's People

Contributors

danielhertenstein avatar jennbakal avatar

Watchers

Shawn Brown avatar  avatar James Cloos avatar  avatar  avatar

phil's Issues

Makefile on fresh Ubuntu install

You'll have to excuse the probably bad steps I took trying to finding some form of a workaround. Perhaps seeing what I did will make it clear to you what I'm doing wrong or what needs to be changed.

After apt-get'ing make and g++ and running make I get /bin/sh: 1: -std=c++11: not found while building snappy. Moving -std=c++11 out of CPP and into CPPFLAGS, fixed this.

But then the DEPENDS target complained because it doesn't use $(CPPFLAGS). I manually added the -std=c++11 flag to that rule.

Next, I got configure: error: C preprocessor "g++" fails sanity check while building snappy. Snappy's config.log said:

configure:6806: g++  conftest.c
conftest.c:16:8: error: 'Syntax' does not name a type
        Syntax error
        ^
configure:6806: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "snappy"
| #define PACKAGE_TARNAME "snappy"
| #define PACKAGE_VERSION "1.0.5"
| #define PACKAGE_STRING "snappy 1.0.5"
| #define PACKAGE_BUGREPORT ""
| #define PACKAGE_URL ""
| #define PACKAGE "snappy"
| #define VERSION "1.0.5"
| /* end confdefs.h.  */
| #ifdef __STDC__
| # include <limits.h>
| #else
| # include <assert.h>
| #endif
|                    Syntax error

This thread (https://stackoverflow.com/questions/43763527/compile-gcc-7-error-c-preprocessor-lib-cpp-fails-sanity-check?rq=1) told me to switch the CPP option from g++ to cpp, which fixed this.

Next, I got cpp: fatal error: '-c' is not a valid option to the preprocessor when trying to compile snappy.cc as follows:

/bin/bash ./libtool --tag=CXX   --mode=compile cpp -DHAVE_CONFIG_H -I.      -c -o snappy.lo snappy.cc
libtool: compile:  cpp -DHAVE_CONFIG_H -I. -c snappy.cc
cpp: fatal error: ‘-c’ is not a valid option to the preprocessor

And at this point I'm a little stuck because the CPP option in the Makefile seems to be used by snappy as both the C preprocessor and the C++ compiler.

Once again, apologies if I'm misunderstanding something. Are you able to build phil on a fresh install of Linux?

Support longer Household ID for SPEW synthetic ecosystem compatibility

The longest household ID identified so far is 154 characters (caar-esmeraldas-guayas-manab-mangadelcura[disputedcanton]-pichincha-elpiedrero[disputedcanton]-losros-santaelena-santodomingodelastschilas-galpagos-801550).

Proposed resolution may be limited to changes in the parser (but might also require changes to the data type of the place label)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.