Computational Explorations of the Coronavirus on Wolfram Community
When the world is in distress, Wolfram users turn to computation! Even in the midst of this global pandemic, Wolfram staff, friends and colleagues continue to show the power of computational curiosity. We’ve provided a centralized COVID-19 data and resources page, with ways to get free licenses for Wolfram technology through August, livestreamed multiparadigm explorations into the science and data behind the virus, computational explorations from Wolfram users and more. This resource will be continually updated, so make sure to check back often!
Our community of staff and users have been incredibly active, creating their own innovative resources and exploring available data from many different angles. Wolfram Community gathers talented and experienced data scientists, biologists, chemists, supply chain experts, epidemiologists, mathematicians, physicists and more. In recent weeks, we’ve seen a flurry of activity and exploration, a willingness to share ideas and information, and mutual encouragement from industry professionals and high-school students alike.
Wolfram’s technology stack (including free resources from the Wolfram Data Repository) and the power of computation have helped many to better understand this crisis—on a collaborative level and individually. Here’s a sampling of the neat projects and activities that have been produced.
Community Hub and Data Resources
Dozens of notebooks are available with models, analyses and visualizations relating to COVID-19, as well as several videos and other content. Folks have presented computations comparing the spread in different countries, analyzing the SARS-CoV-2 genome and explaining mathematical models for tracking epidemics. For an overview of what’s been happening, check out this Community hub post from Vitaliy Kaurov.
Many of these explorations make use of Wolfram’s curated data resources, which are freely available from the Wolfram Data Repository. This collection currently includes estimated COVID-19 cases from around the world, nucleotide sequences for the SARS-CoV-2 virus and medical records of infected patients. We’re looking to add more to the list; let us know if you have suggestions.
Livestreamed Explorations
Wolfram employees and users have produced several coronavirus-related livestreams, with more to come. You can watch Stephen Wolfram’s discussion of epidemic modeling with Robert Nachbar and several other guests, and the subsequent live exploration featuring Christopher Wolfram and Brett Champion.
For a better understanding of the available data, check out Wolfram|Alpha developer Keiko Hirayama’s explanations of the curated epidemic data and patient medical data in the Wolfram Data Repository. See the full playlist for more videos.
Wolfram Study Groups
Social and physical distancing don’t preclude us from coming together virtually to learn, collaborate and connect. Wolfram Study Groups are hour-long sessions taking place every weekday for this purpose. Each session includes short lesson videos from Wolfram U’s interactive course An Elementary Introduction to the Wolfram Language, with experts on hand to explain concepts in more depth. Topics like multiparadigm data science will be covered as well! During the last 30 minutes of each session, you’ll be able to ask further questions and discuss what you’ve learned with the rest of the group.
Sessions are currently scheduled for noon EDT (4pm GMT) Monday through Friday, and will run through May 1. These Study Groups are a great chance to learn from our staff and other Wolfram users like yourself. A certificate of program completion will be awarded to participants who attend online sessions and pass auto-graded online quizzes. You can sign up in advance to reserve your seat, but feel free to join a Study Group when you can—you don’t have to attend every session in order to benefit from the program!
Some Community Highlights
Agent-Based Network Models for COVID-19
Christopher Wolfram
Using graphs to represent contact networks in a population, Christopher Wolfram looks at an agent-based model for simulating the COVID-19 outbreak. He discusses how the structure and size of social networks can affect the spread of the disease.
Epidemiological Models for Flu and COVID-19
Robert Nachbar
Wolfram Solutions team member Robert Nachbar made this in-depth video to accompany his Community post that uses data from an influenza case study to show how to build a model for tracking and predicting the geographic spread of an epidemic. Starting with the basic susceptible–infected–recovered (SIR) model, Robert introduces additional parameters to build more accurate models for regional COVID-19 outbreaks. His notebook includes several interactive examples and alternative models to provide a deeper understanding of the underlying concepts.
A Walkthrough of the SARS-CoV-2 Nucleotide Wolfram Resource
John Cassel
John Cassel briefly walked us through some of the genetic sequences for the SARS-CoV-2 novel coronavirus in this excellent video, expanding on his material in a Wolfram Community post! John explains the creation of the curated genetic sequences dataset and demonstrates several use cases. Check back often; the dataset is currently being updated on an almost daily basis.
Genome Analysis and the SARS-CoV-2 Virus
Daniel Lichtblau
Daniel Lichtblau takes John’s explanation a step further with additional analyses on the SARS-CoV-2 genetic sequences. While Daniel focuses on COVID-19 here, his method allows for broader applications as well.
Coronavirus Logistic Growth Model: China
Robert Rimmer
Robert Rimmer, a retired cardiologist, takes a mathematical approach to epidemiological analysis. Finding similarities between population growth within a space and the isolation procedures of a quarantine, Robert applies his original code for modeling population growth to epidemiologic control of an infection. He also provides updates to his original code, logistic growth models for Italy and South Korea and an in-depth discussion of the logistic model and its applications in epidemiology.
Comparing the Spread of COVID-19 between Countries
Jan Brugard
Jan Brugard of Wolfram MathCore provides a comparison of data from several countries to determine how early reactions to the outbreak can help “flatten the curve” and reduce the spread of COVID-19. You can select up to five countries and plot any of the number of cases, deaths or recovered in either a logarithmic or linear scale. This provides a great high-level view to look at clustered countries, and is especially useful for viewing different European countries.
Wolfram Function Repository
NYTimesCOVID19Data
Bob Sandheinrich and Jesse Friedman
Bob Sandheinrich and Jesse Friedman created NYTimesCOVID19Data to import data for the United States and other countries from the New York Times GitHub repository. Each evaluation retrieves fresh data from the web, so you can get the most recent data submitted by the New York Times; store the function as a variable or use Once to avoid repeated downloads.
✕
ResourceFunction["NYTimesCOVID19Data"] |
For example, you can get time series data by US county, organized by date:
✕
timeseries = ResourceFunction["NYTimesCOVID19Data"]["USCountiesTimeSeries"]; |
✕
timeseries[[1 ;; 5]] |
And plot the number of cases:
✕
DateListPlot[ timeseries[TakeLargestBy[#Cases["LastValue"] &, 10], "Cases"], PlotRange -> Full] |
COVIDTrackingData
Bob Sandheinrich
COVIDTrackingData imports US COVID-19 data from https://covidtracking.com. Daily data can be pulled nationwide or for states.
Use COVIDTrackingData to get the last week of data:
✕
Take[ResourceFunction["COVIDTrackingData"]["USDaily"], 7] |
DICOMAnonymize
Bartosz Białoskórski
Safeguarding patients from individual identification must be a priority when processing COVID-19 data. Contributor Bartosz Białoskórski created a function to help ensure anonymization of the patient data from DICOM files by removing or replacing metadata that could lead to the identification of a patient.
Use the options to choose the level of anonymization. Here, we use the "Basic" level:
✕
dcmFile = First[ExtractArchive[FindFile["ExampleData/head.dcm.gz"], OverwriteTarget -> True]]; ResourceFunction["DICOMAnonymize"][dcmFile, "anon-head-basic.dcm", "AnonymizationLevel" -> "Basic"]; Complement[Import["anon-head-basic.dcm", "MetaInformation"], Import[dcmFile, "MetaInformation"]] |
Stay Up to Date
As more information becomes available regarding COVID-19, we urge you to take advantage of Wolfram Community’s ever-expanding coronavirus resource hub. If you’re at home or have time off right now, consider joining the conversation on Wolfram Community and posting your computational essays. Be well!
Thanks for the info Avery. Also a great article.