Simulating RNA Viruses' Propagation in Real World Environments

The What?

Humans are constantly exposed to all kinds of viruses, some more deadly than others. While viruses are not living organisms, they all have the same goals: find a host, replicate and harm. Replication within the host can happen very quickly with a high mutation rate (replication through RNA), or less randomly and slowly enough for the host to find a cure (replication through DNA). In this project we will focus on simulating the hardly predictable 'life' of 3 RNA viruses: HIV-1, Infuenza-A, and Ebola in six different world locations.

The Why?

One of the inspirations for this project was to take a different turn and apply our classroom knowledge to the real world. It was merely for fun aimed at learning something completely new (virology), and at the same time we hope it would be a beginning of something useful for virologists in the future.

The How?


We hope to use CUDA and NVIDIA GTX 680 to exploit data-parallelism on millions of particles (humans), the majority of which are independent.

Artificial Intelligence

We will apply our AI skills to modeling the evolution of the viruses by processing large amounts of human samples and "reshaping" its structure based on these results. This is analogous to viruses using their hosts' and vaccines' information to evolve in order to become less susceptible to detection and cure.


Lastly, for visualizing everything we will use OpenGL with a small user interface in order to control/change the factors in our environment and view the progess of the viruses' propagation in our world.

The Who?

The project is done by Rikky Roy Koganti (Jnr. Undergraduate, SCS) and Elena Feldman (Jnr. Undergraduate, ECE). It is supervised by Kayvon Fatahalian, Ph.D. as part of 15-418 Course Final Project.


Closer Look


Closer Look


Closer Look


How Realistic Is It?

More Documentation

Final Report