Line 215: | Line 215: | ||
<div id="holder"> | <div id="holder"> | ||
<video style= "z-index:1;" id="oceanvideo" autoplay muted loop> | <video style= "z-index:1;" id="oceanvideo" autoplay muted loop> | ||
− | <source src="https://static.igem.org/mediawiki/2018/a/a3/T--Lambert_GA-- | + | <source src="https://static.igem.org/mediawiki/2018/a/a3/T--Lambert_GA--software.mp4" type="video/mp4"> |
Your browser does not support video. | Your browser does not support video. | ||
</video> | </video> |
Revision as of 05:16, 17 October 2018
C A L M
Overview
Lambert iGEM has developed a mobile application for Android phones called Color Q. Color Q is a color-quantification tool that can be used alongside the Chrome-Q hardware, also developed by Lambert iGEM, in order to determine the relative color value generated by biological indicators, such as chromoproteins and reporters. The samples are loaded into the base of the Chrome-Q hardware and then a smartphone camera is used to take a picture of the base. The app can then use circle detection to determine the color values and this serves as a viable quantification method of the actual cholera present in the sample. This data is then transferred to a database for storage and retrieval. The information from the Color Q app can be used to contribute to the second component of Lambert iGEM's software project.
Our 2018 project includes a software subproject known as CALM, the Cholera Artificial Learning Model. CALM is a machine learning based platform which predicts cholera outbreaks in advance and uses SMS notifications to notify healthcare organizations as well as locals so that they can prepare for outbreaks. SMS-based surveys are a key component of CALM, as health and sanitation data can be collected from a population to be used in the machine learning model, making it more accurate. For 2018, Lambert iGEM has built the machine learning aspect of CALM and has modified existing code from Michael Koohang’s RatWatch project to distribute cholera surveys and collect data.
Diseases similar to cholera are especially damaging because even though they are curable (i.e., a cure exists), they still cause horrific amounts of damage to millions of people. What cholera treatment projects require more than anything are preventative measures to ensure a population does not become infected. CALM fulfills this need as a predictive actor, providing healthcare organizations the information required to pinpoint where a cholera outbreak is going to occur so that they can send medicines and supplies before the outbreak begins, thus preventing it. As a prediction and notification-based platform, CALM also satisfies the needs of locals who can take preventative measures (such as boiling water) to prevent cholera but can’t afford to do it constantly - thus making timely notifications critical for locals.
Our 2018 project includes a software subproject known as CALM, the Cholera Artificial Learning Model. CALM is a machine learning based platform which predicts cholera outbreaks in advance and uses SMS notifications to notify healthcare organizations as well as locals so that they can prepare for outbreaks. SMS-based surveys are a key component of CALM, as health and sanitation data can be collected from a population to be used in the machine learning model, making it more accurate. For 2018, Lambert iGEM has built the machine learning aspect of CALM and has modified existing code from Michael Koohang’s RatWatch project to distribute cholera surveys and collect data.
Diseases similar to cholera are especially damaging because even though they are curable (i.e., a cure exists), they still cause horrific amounts of damage to millions of people. What cholera treatment projects require more than anything are preventative measures to ensure a population does not become infected. CALM fulfills this need as a predictive actor, providing healthcare organizations the information required to pinpoint where a cholera outbreak is going to occur so that they can send medicines and supplies before the outbreak begins, thus preventing it. As a prediction and notification-based platform, CALM also satisfies the needs of locals who can take preventative measures (such as boiling water) to prevent cholera but can’t afford to do it constantly - thus making timely notifications critical for locals.
Color Q App
Color Q is a free mobile application developed in Java for the Google Play Store. The app was developed in the Android Studio v3.2.1 integrated development environment. It works alongside the Chrome-Q hardware also developed by Lambert iGEM in order to effectively quantify the result of a biological reporter, similar to the function of a plate reader. The app is able to use circle detection in order to find the samples on the base of the Chrome-Q hardware and then detect the red, green, and blue values (RGB) of the center of each circle. The way the circles are arranged allow for a range of values to be generated. The first row contains 4 circles. The average RGB values of the first two circles are calculated as the negative control and the average RGB values of the second pair of circles are calculated as the positive control. The distance between the positive and negative control is calculated in the 3D-coordinate plane using the following formula:
The Hough Circle Transform is used as the method of circle detection found in the app. Open Computer Vision (OpenCV) is a library that can be imported into Android Studio in order to perform image analysis-based methods. The image taken by the smartphone camera is converted into a grayscale photo. This essentially makes the image more readable in terms of edge detection and "round" estimation. There are several parameters that can be modified and calibrated in order to detect an accurate amount of circles:
The 6 by 6 grid located underneath the first row can be loaded with experimental samples and a percentage value can be determined on a scale from the negative control to the positive control. The circle detection process loops through until the maximum radius reaches 120 pixels. If anywhere from 35 to 40 circles are detected in total, then the loop stops. However, if there are fewer circles detected, then the loops restarts to finish through the maximum radius until anywhere from 25 to 40 circles are detected properly. If less than 25 circles are detected, then an error is caught and another picture is requested to be used. Zooming in or zooming out could possibly make the circle detection process easier for the system and more efficient. The following formula is used to calculate the relative percentage values:
The results are then displayed based upon the row in which the circles fall in on the base of the Chrome-Q hardware. The app is able to determine the row in which the circles fall in by comparing y-coordinates. If the y-values are similar to each other, then the circles are classified as being on the same row. The relative values are then transferred to another page within the app where the user is able to enter information that could help contribute to our machine learning model, CALM. The application uses the latitude, longitude, and timestamp values obtained from the phone's GPS to effectively determine where and when the test was run. When the user submits the data, the results are sent to a MySQL database, which is a part of the Relational Database Service (RDS) as a part of the Amazon Web Services (AWS) platform.
The Hough Circle Transform is used as the method of circle detection found in the app. Open Computer Vision (OpenCV) is a library that can be imported into Android Studio in order to perform image analysis-based methods. The image taken by the smartphone camera is converted into a grayscale photo. This essentially makes the image more readable in terms of edge detection and "round" estimation. There are several parameters that can be modified and calibrated in order to detect an accurate amount of circles:
- Maximum Radius: The smallest value for the radius of a detected circle
- Minimum Radius: The largest value for the radius of a detected circle
- Minimum Distance: The smallest distance between the centers of any two detected circles
- Edge Gradient Value: The roundness of each detected circle
- Threshold Value: The amount of memory the system has to store the detected circles
The 6 by 6 grid located underneath the first row can be loaded with experimental samples and a percentage value can be determined on a scale from the negative control to the positive control. The circle detection process loops through until the maximum radius reaches 120 pixels. If anywhere from 35 to 40 circles are detected in total, then the loop stops. However, if there are fewer circles detected, then the loops restarts to finish through the maximum radius until anywhere from 25 to 40 circles are detected properly. If less than 25 circles are detected, then an error is caught and another picture is requested to be used. Zooming in or zooming out could possibly make the circle detection process easier for the system and more efficient. The following formula is used to calculate the relative percentage values:
The results are then displayed based upon the row in which the circles fall in on the base of the Chrome-Q hardware. The app is able to determine the row in which the circles fall in by comparing y-coordinates. If the y-values are similar to each other, then the circles are classified as being on the same row. The relative values are then transferred to another page within the app where the user is able to enter information that could help contribute to our machine learning model, CALM. The application uses the latitude, longitude, and timestamp values obtained from the phone's GPS to effectively determine where and when the test was run. When the user submits the data, the results are sent to a MySQL database, which is a part of the Relational Database Service (RDS) as a part of the Amazon Web Services (AWS) platform.
CALM
There are two main components of the CALM platform; the SMS component and the machine learning component. The entirety of the platform is written in Python 3.6+, and several libraries, including the pandas, numpy, scikit-learn, beautifulsoup, xgboost, and flask libraries are utilized. In order to make predictions, the machine learning aspect of CALM ___
To distribute SMS notifications, Michael Koohang graciously allowed Lambert iGEM to modify his RatWatch project (developed at Georgia Tech) to create CALM’s SMS component. The code for SMS distribution is located on a server using the Flask microframework for logic and computation. The Flask server interacts with Twilio’s (an SMS-survey provider) Python API in order to send out text messages to a specified population. The population’s survey results are aggregated and stored on the Flask server using pandas.
We hope to see CALM in use throughout the cholera field within the next few years as medical organizations begin using it to prevent outbreaks and better distribute medical supplies. As cholera already has a cure, a machine-learning based approach to predicting and preventing cholera, especially one that is open-source and free to use, will drastically reduce the time, energy, and money required to treat an infected population. Finally, we believe the CALM project will not only treat millions of people affected with cholera, but will also begin efforts to use CALM’s foundation to predict other diseases such as malaria and parasitic infections.
CALM began as a subcomponent of Lambert’s 2018 project and rapidly developed throughout the beginning of the 2018 season. In late May Lambert participated in the Day One Challenge, an Atlanta-based AI competition, and won. Through further collaboration and outreach with the Day One organization Lambert has been able to receive feedback and advice from professionals in a variety of fields, such as epidemiology, computer science, machine learning, and business. As CALM develops further, we hope to not only see other teams adopt the platform to address other issues, but also for healthcare organizations across the world to utilize CALM and adapt it to other diseases.
We hope to see CALM in use throughout the cholera field within the next few years as medical organizations begin using it to prevent outbreaks and better distribute medical supplies. As cholera already has a cure, a machine-learning based approach to predicting and preventing cholera, especially one that is open-source and free to use, will drastically reduce the time, energy, and money required to treat an infected population. Finally, we believe the CALM project will not only treat millions of people affected with cholera, but will also begin efforts to use CALM’s foundation to predict other diseases such as malaria and parasitic infections.
CALM began as a subcomponent of Lambert’s 2018 project and rapidly developed throughout the beginning of the 2018 season. In late May Lambert participated in the Day One Challenge, an Atlanta-based AI competition, and won. Through further collaboration and outreach with the Day One organization Lambert has been able to receive feedback and advice from professionals in a variety of fields, such as epidemiology, computer science, machine learning, and business. As CALM develops further, we hope to not only see other teams adopt the platform to address other issues, but also for healthcare organizations across the world to utilize CALM and adapt it to other diseases.