Machine Learning Application for molecular biology
Contributed by Wansang Lim. He is currently in the NYC Data Science Academy 12 week full time Data Science Bootcamp program taking place between January 11th to April 1st, 2016. This post is based on his fourth class project – machine learning(due on the 8th week of the program).
The object of this project is to build a actually working shiny application for molecular analysis with machine learning. It predicts undependable variable with Support vector machine. This app is fit for RAPD analysis.
RAPD stands for 'Random Amplified Polymorphic DNA'. It is a type of PCR reaction, but the segments of DNA that are amplified are random. The scientist performing RAPD creates several arbitrary, short primers (8–12 nucleotides), then proceeds with the PCR using a large template of genomic DNA, hoping that fragments will amplify. By resolving the resulting patterns, a semi-unique profile can be gleaned from a RAPD reaction.
No knowledge of the DNA sequence for the targeted genome is required, as the primers will bind somewhere in the sequence.
Support Vector Machine
Support Vector Machines are based on the concept of decision planes that define decision boundaries. A decision plane is one that separates between a set of objects having different class memberships. A schematic example is shown in the illustration below. In this example, the objects belong either to class GREEN or RED. The separating line defines a boundary on the right side of which all objects are GREEN and to the left of which all objects are RED. Any new object (white circle) falling to the right is labeled, i.e., classified, as GREEN (or classified as RED should it fall to the left of the separating line).
The data is based on already published paper(Utilization of RAPD Markers to Assess Genetic Diversity of Wild Populations of North American Ginseng ( Panax quinquefolium )Article in Planta Medica 73(1):71-6 · January 2007). It has 111 rows and 120 columns. It is binary data which have just 1 and 0. First, the gnomic DNA was amplified with random primer and converted in 1 and 0 data. The details are in the published paper.
This app is designed to upload file because it can be used for any data for RAPD analysis if the data format is same regardless of number of rows and columns (Fig 1). When upload complete, it separate training and test set by 7 : 3 ratio. And it shows the prediction table and the result in side panel. When it separate into two data set, if one of them has non polymorphic column, it remove the column at both data set.
It can chose best 10 column. The ideal data for prediction is extremely skewed. For example, all NY population is one and all non NY population is zero. To find the similar column, data in both NY and non NY group is normalized twice and it find the maximum difference between the frequency. And it fit it in support vector machine (Fig 2). When we use best 10 column, it reduce the experiment cost substantially with the minimum decrease of prediction from 93% to 83%.
Fig. 2. The app chose best 10 column to reduce cost.
One of important feature of this app is predicting unknown data. A molecular biology researcher upload it's data. It predicts whether it came from New York or non New York population.
For conclusion, this app can do
1. choosing best primer or column set(or column) set to reduce cost
2. predicting the origin of samples.