Coder Social home page Coder Social logo

jangevaare / pathogen.jl Goto Github PK

View Code? Open in Web Editor NEW
72.0 8.0 10.0 18.15 MB

Simulation, visualization, and inference of individual level infectious disease models with Julia

License: MIT License

Julia 100.00%
julia infectious-diseases evolution epidemics mcmc transmission-network

pathogen.jl's Introduction

Pathogen.jl

DOI Latest Release License

test-lts test-stable test-nightly codecov.io

Authors: Justin Angevaare, Zeny Feng, Rob Deardon

Epidemic curve

Pathogen.jl is a Julia software package for individual level models of infectious diseases (Deardon et al, 2010). It's capabilities include stochastic simulation and Bayesian inference of SEIR, SEI, SIR, and SI individual level models, with fully customizable functions describing individual specific transition rates between disease states (i.e. form of, and relevant risk factors to, susceptibility, transmissibility, latency, removal, and sparks functions). Pathogen.jl is written purely in Julia, which enables this generality without incurring performance costs.

MCMC

Pathogen.jl infers transmission pathways (i.e. who-infected-who). This inference is completed using a Gibbs step in our specialized MCMC algorithm. This specialized MCMC algorithm also performs event time data augmentation. A detailed overview of this algorithm can be found here.

Installation

The current release can be installed from the Julia REPL with:

pkg> add Pathogen

The development version (master branch) can be installed with:

pkg> add Pathogen#master

Posterior Transmission Network

Examples of Pathogen.jl workflow are included in the examples directory as a Jupyter notebooks.

  1. SIR simulation, inference, and visualization
  2. Analysis of a Tomato Spotted Wilt Virus experimental epidemic
  3. Analysis of 1861 Hagelloch Measles outbreak Epidemic simulation

Citation and more information

This package is detailed in Pathogen.jl: Infectious Disease Transmission Network Modeling with Julia, in the Journal of Statistical Software.

@article{pathogenjl,
  title   = {Pathogen.jl: Infectious Disease Transmission Network Modeling with Julia},
  author  = {Angevaare, Justin and
             Feng, Zeny and
             Deardon, Rob},
  year    = {2022},
  journal = {Journal of Statistical Software},
  volume  = {104},
  number  = {4},
  pages   = {1โ€“30},
  url     = {https://www.jstatsoft.org/index.php/jss/article/view/v104i04},
  doi     = {10.18637/jss.v104.i04}}

pathogen.jl's People

Contributors

github-actions[bot] avatar jangevaare avatar juliatagbot avatar pitmonticone avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pathogen.jl's Issues

TagBot trigger issue

This issue is used to trigger TagBot; feel free to unsubscribe.

If you haven't already, you should update your TagBot.yml to include issue comment triggers.
Please see this post on Discourse for instructions and more details.

If you'd like for me to do this for you, comment TagBot fix on this issue.
I'll open a PR within a few hours, please be patient!

Difficulty replicating SIR TN-ILM Simulation and Inference

Hi,
I am having some difficulty replicating the SIR-TN-ILM Simulation and Inference.ipynb

Specifically at this line: obs = observe(sim, Uniform(0.5, 2.5), Uniform(0.5, 2.5), force=true)
I get an argument error, ArgumentError: Uniform: the condition a < b is not satisfied.
The stacktrace brings me to EventObservations.jl, where I modified default_rng to be MersenneTwister based on an error that I got previously(i..e that default_rng is not defined).

Would you have any guidance on this?
Thank you

Comparison to EMOD

Your package looks very exiting. I'm a statistician working with simulator based statistical models and infectious disease modeling is one important application. Do you have experience with other disease simulators such as EMOD. How do they compare to Pathogen.jl?

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.