Machine Learning Application for molecular biology

Wansang Lim
Posted on Mar 21, 2016

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 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).

Data Generation

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.

Application Structure

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.

Fig 1. The result prediction table for whole data

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.

About Author

Wansang Lim

Wansang Lim

I am Ph.D of Agriculture with a lot of data experience during my research period. I got B.S from Seoul National University and both M.S and Ph.D from Cornell University in U.S.A. After Ph.D degree, I worked as...
View all posts by Wansang Lim >

Leave a Comment

No comments found.

View Posts by Categories

Our Recent Popular Posts

View Posts by Tags

#python #trainwithnycdsa 2019 airbnb Alex Baransky alumni Alumni Interview Alumni Reviews Alumni Spotlight alumni story Alumnus API Application artist aws beautiful soup Best Bootcamp Best Data Science 2019 Best Data Science Bootcamp Best Data Science Bootcamp 2020 Best Ranked Big Data Book Launch Book-Signing bootcamp Bootcamp Alumni Bootcamp Prep Bundles California Cancer Research capstone Career Career Day citibike clustering Coding Course Demo Course Report D3.js data Data Analyst data science Data Science Academy Data Science Bootcamp Data science jobs Data Science Reviews Data Scientist Data Scientist Jobs data visualization Deep Learning Demo Day Discount dplyr employer networking feature engineering Finance Financial Data Science Flask gbm Get Hired ggplot2 googleVis Hadoop higgs boson Hiring hiring partner events Hiring Partners Industry Experts Instructor Blog Instructor Interview Job Job Placement Jobs Jon Krohn JP Morgan Chase Kaggle Kickstarter lasso regression Lead Data Scienctist Lead Data Scientist leaflet linear regression Logistic Regression machine learning Maps matplotlib Medical Research Meet the team meetup Networking neural network Neural networks New Courses nlp NYC NYC Data Science nyc data science academy NYC Open Data NYCDSA NYCDSA Alumni Online Online Bootcamp Open Data painter pandas Part-time Portfolio Development prediction Prework Programming PwC python python machine learning python scrapy python web scraping python webscraping Python Workshop R R language R Programming R Shiny r studio R Visualization R Workshop R-bloggers random forest Ranking recommendation recommendation system regression Remote remote data science bootcamp Scrapy scrapy visualization seaborn Selenium sentiment analysis Shiny Shiny Dashboard Spark Special Special Summer Sports statistics streaming Student Interview Student Showcase SVM Switchup Tableau team TensorFlow Testimonial tf-idf Top Data Science Bootcamp twitter visualization web scraping Weekend Course What to expect word cloud word2vec XGBoost yelp