Line 376: | Line 376: | ||
<!--1--> | <!--1--> | ||
<div class="modelingPart"> | <div class="modelingPart"> | ||
− | <h2 class="content-1" id="titleH" style="color:#FFFF82"> | + | <h2 class="content-1" id="titleH" style="color:#FFFF82">I. The Factors of Prediction</h2> |
− | <div class="modelingPartContent" id=" | + | <div class="modelingPartContent" id="partH"> |
<p class="content">We built a prediction model for our device to support our spraying system. The model will predict the number of the pest, so we can know when our farm will be in the pest threat in the future. Thus we can open our spraying system spraying PANTIDE to protect our farmland. To know the number of pests in the future, we used seven weather data in the past 20 days including, air pressure, the highest temperature, the lowest temperature, average temperature, humidity, precipitation, wind velocity, and also the accumulated number of bugs from the two periods including twenty to ten days ago and ten to one days ago. Because Pantide only influences on the larvae, we cannot easily predict the number of moths tomorrow or two or three days later. We needed to know the number of larvae in the future.</p> | <p class="content">We built a prediction model for our device to support our spraying system. The model will predict the number of the pest, so we can know when our farm will be in the pest threat in the future. Thus we can open our spraying system spraying PANTIDE to protect our farmland. To know the number of pests in the future, we used seven weather data in the past 20 days including, air pressure, the highest temperature, the lowest temperature, average temperature, humidity, precipitation, wind velocity, and also the accumulated number of bugs from the two periods including twenty to ten days ago and ten to one days ago. Because Pantide only influences on the larvae, we cannot easily predict the number of moths tomorrow or two or three days later. We needed to know the number of larvae in the future.</p> | ||
</div> | </div> | ||
Line 385: | Line 385: | ||
<!--2--> | <!--2--> | ||
<div class="modelingPart"> | <div class="modelingPart"> | ||
− | <h2 class="content-1" id="titleI" style="color:#FFFF82"> | + | <h2 class="content-1" id="titleI" style="color:#FFFF82">II. The Life History of Moth</h2> |
− | <div class="modelingPartContent" id=" | + | <div class="modelingPartContent" id="partI"> |
<p class="content">After understanding the life history of the moths from Dr. Huang in Taiwan Agriculture Research Institute(see more), we can know that the time of pupa becoming moth ranges from six days to 14 days. So the moths we caught in 20 days must be the larvae in our farm right now. Therefore, we utilized the data of the accumulated number of moth in the next 20 days as the target of our prediction system, and we can use the output to know the time that requires spraying Pantide for prevention.</p> | <p class="content">After understanding the life history of the moths from Dr. Huang in Taiwan Agriculture Research Institute(see more), we can know that the time of pupa becoming moth ranges from six days to 14 days. So the moths we caught in 20 days must be the larvae in our farm right now. Therefore, we utilized the data of the accumulated number of moth in the next 20 days as the target of our prediction system, and we can use the output to know the time that requires spraying Pantide for prevention.</p> | ||
</div> | </div> | ||
Line 393: | Line 393: | ||
<!--3--> | <!--3--> | ||
<div class="modelingPart"> | <div class="modelingPart"> | ||
− | <h2 class="content-1" id="titleJ" style="color:#FFFF82"> | + | <h2 class="content-1" id="titleJ" style="color:#FFFF82">III.The Software Design of Prediction Model</h2> |
− | <div class="modelingPartContent" id=" | + | <div class="modelingPartContent" id="partJ"> |
<p class="content">The method we used was called neural network, one of the popular machine learning solutions, or another well-known name called deep learning. The model we used was a combination of two kinds of neural network, Recurrent Neural Network (RNN) and Artificial Neural Network (ANN). Becuase we got seven features of 20 days, equals 140 features in total, we cannot simply put it into ANN to train the model. Therefore, we used RNN which was good for this kind of time series data to compress the 140 features into seven compressed data and got the seven feature and the other two feature which we have previously mentioned. Therefore, we only had nine features in total and then put them into the ANN as the input to get the final prediction. Then, it will compute the errors between the actual answer and the output and use gradient descent and backpropagation to modify the weight in each network each neuron. After a bunch of train steps, we got our model with about 80% of accuracy.</p> | <p class="content">The method we used was called neural network, one of the popular machine learning solutions, or another well-known name called deep learning. The model we used was a combination of two kinds of neural network, Recurrent Neural Network (RNN) and Artificial Neural Network (ANN). Becuase we got seven features of 20 days, equals 140 features in total, we cannot simply put it into ANN to train the model. Therefore, we used RNN which was good for this kind of time series data to compress the 140 features into seven compressed data and got the seven feature and the other two feature which we have previously mentioned. Therefore, we only had nine features in total and then put them into the ANN as the input to get the final prediction. Then, it will compute the errors between the actual answer and the output and use gradient descent and backpropagation to modify the weight in each network each neuron. After a bunch of train steps, we got our model with about 80% of accuracy.</p> | ||
</div> | </div> | ||
Line 402: | Line 402: | ||
<div class="modelingPart"> | <div class="modelingPart"> | ||
− | <h2 class="content-1" id="titleK" style="color:#FFFF82"> | + | <h2 class="content-1" id="titleK" style="color:#FFFF82">IV. The Quality of the Model</h2> |
− | <div class="modelingPartContent" id=" | + | <div class="modelingPartContent" id="partK"> |
<p class="content">The prediction model is also a part of our device system. After using the device to collect data in a farm, we can not only predict the number of moth with the model we already trained but also retrain our model with the data we collect in that farm. So, now we can modify the model according to each farm to get a specific model for it.</p> | <p class="content">The prediction model is also a part of our device system. After using the device to collect data in a farm, we can not only predict the number of moth with the model we already trained but also retrain our model with the data we collect in that farm. So, now we can modify the model according to each farm to get a specific model for it.</p> | ||
<p class="content">The programming language we use is python3.5, and the deep learning framework is the one developed by Google called tendorflow.</p> | <p class="content">The programming language we use is python3.5, and the deep learning framework is the one developed by Google called tendorflow.</p> |
Revision as of 13:20, 18 October 2016
![](https://static.igem.org/mediawiki/2016/0/01/NCTU_MODELING_BIG_PICTURE.png)
![](https://static.igem.org/mediawiki/2016/f/f8/Web.png)
![](https://static.igem.org/mediawiki/2016/6/65/Right_%281%29.png)
Software—Toxin selection
I. Purpose
To prove the concept of Pantide, we wanted to select three existing distinct spider toxin peptides with probable oral toxicity against the testee-Spodoptera litura(Tobacco cutworms). For the actual application of Pantide we, we needed some more knowledge base of peptides which have different molecular targets to promote Pantide applying to other orders of insects, and a different toxic mechanism to regularly alternate so as to avoid drug resistance.
To date, about 1500 toxin peptides from 97 spider species have been studied, though the number of spider toxin peptides is conservatively estimated up to 10 million. [1] So, our purpose is to establish a database collecting the information of those peptides, such as molecular target, taxon, toxicity, sequence. According to the database, if we first choose a target insect, then we can easily find out groups of suitable peptides used as Pantide. Therefore, we also need to create a method to select peptides from the database.
II. Method
The method of toxin selection can be separated into three part: crawler, filter, and selection.
- Toxin Collection—we planned to collect information of toxin peptides to establish our own database for Pantide from protein databases and some research results like taxon and toxicity from published papers.
- Toxin Filtering—based on background knowledge of toxin peptides, we set up some conditions to filter out those unsuitable to use as Pantide.
- Toxin Processing—we used online protein analyze tools to classify the remained peptides into groups by their similarity. Finally, we select out three distinct peptides from different groups to proof concept of Pantide.
III. Step 1: Crawler
In the beginning, we searched on UniProtKB/Swiss-Prot. It is a freely accessible database of protein sequence and functional information that is the manually annotated and reviewed section. (http://www.uniprot.org/) By searching the keyword “insecticidal NOT crystal” we wanted to find all the protein that has insecticidal activity excluding those crystal proteins of Bacillus thuringiensis, and we got 216 proteins as results.
Using the result, we established our Pantide database by crawling 11 entries of the protein information from UniProt. The entries are as follows.
- The name of the protein
- The description of protein function
- The organisms/source of the protein sequence
- The length of amino acids
- The number of disulfides bonds
- Propeptide & signal peptide—If the proteins have an N-terminal signal peptide and propeptide, a part of protein will be cleaved during maturation or activation.
- Uniprot entry & Arachnoserver id—the accession number of protein in UniProtKB and ArachnoServer*.
*ArachnoServer is a manually curated database for protein toxins derived from spider venom.(http://www.arachnoserver.org/).
We also crawled other seven entries of protein toxicity recorded by Arachnoserver—molecular target, taxon, ED50, LD50, PD50, qualitative information, protein sequence from Arachnoserver. The term, Molecular target, is the effect site of toxin peptides, such as voltage-gated ion channels, GABA receptors and so on. Taxon, ED50, LD50, PD50, and the qualitative information are the toxicity against taxon that had been tested by experiments. The protein sequence from two databases is entirely the same.
We utilized BeautifulSoup 4.4.0, sqlite3 and gevent modules in Python 3.5 to develop our crawler. Moreover, we have submitted the code to GitHub.
(Link:https://github.com/chengchingwen/iGEM/blob/master/crawler.py.)
IV. Step 2: Filter
After crawling the data, we used DB Brower for SQLite software to browse and used SQL to process our Pantide database. We tried to build a filter to find out peptides suitable to use as Pantide.
According to the previous articles, we knew that around 90% of spider venom toxin peptides contain ICK structure which is the most important domain that reacts with the voltage-gated ion channels of insects and some other receptors specifically. [2]
Therefore, to find these spider venom toxin peptides from Pantide database, we could start from searching for ICK structure, whose mass is among 1-10 kDa containing at least three disulfide bonds. [2] So we set a filter with three conditions.
- The organism we choose must be spiders or tarantulas.
- The length of the a.a. sequences are between 27 and 271 base pairs (1 kDa of protein has averagely nine amino acids, encoded by 27 base pairs)
- The number of disulfide bonds is greater or equal to 3. After filtering with the three conditions, 113 peptides remained. Next, we set another filter to find out insecticidal peptides.
- Molecular target contains “invertebrate,” but we also remain peptides without data.
The reason why we keep the peptides without data was that they have the probability to be effective. In this stage, we got 63 candidates. - Taxon contains at least one of Spodoptera litura, Heliothis virescens, Manduca sexta and Spodoptera exigua, but we also remain peptides without data
On the other hand, because we designed to produce Pantide by E.coli, that is difficult to express proteins containing disulfide bonds. We had chosen E.coli Rosetta-gami strain for enhanced disulfide bond formation, but to express a protein with more than four disulfide bonds is still a heavy load. So we finally filtered out those peptides containing too much disulfide bonds. - The number of disulfide bonds is less than or equal to four.
The result was that we got 46 peptides which have the possibility to use as Pantide in proof concept experiment, and all of them is targeted to insects’ voltage-gated ion channels (excluding NULL).
For efficacy experiment of Pantide, we choose our testee-Spodoptera litura as target insect. While there are 14 kinds of distinct Taxon in our database, including 4 Lepidoptera genus. Thus, we also set the other filter to find out peptides against Lepidoptera:
V. Step 3: Selection
In this step, we tried to find three peptides that have different molecular target or mechanism from filtering result to do the test experiment. The method we used was to classify the remained peptides into groups by their structure similarity.
We used online analyze tools on NCBI to process those peptides.
We started with using Protein BLAST (Basic Local Alignment Search Tool) to search from the whole protein database for the similar query protein sequences related to all the 46 peptides and put those related peptides into groups.
The next was using COBALT (Constraint-based Multiple Alignment Tool) to align the sequence between groups to find out whether or not the two groups have the similar structure while they were not got together on the last step because of side chains and other factors. At last, we separated 46 peptides into four groups, containing 27, 12, 3, two peptides, and two alone.
Then we chose the three larger groups and used Conserved Domains Search, and found out that they belonged to the three conserved protein domain family. There are Omega-toxin Superfamily (cl05707), Toxin_28 Superfamily (cl06928) and Toxin_20 Superfamily (cl06915). The strings in brackets are unique ID of superfamilies in the conserved protein domain family database. Finally, we selected the representative peptides from each superfamily and got these three peptides, ω-hexatoxin-Hv1a, μ-segestritoxin-Sf1a and Orally active insecticidal peptide (OAIP).
VI. Future
To promote the applicability of Pantide, we still need to extend our database. The next step is to integrate with other toxin peptide databases, such as scorpions or cone snails, collect more peptides’ information from research results, and even combine with bioinformatics to build a new scoring system, and search for new potential peptides.
Reference
[1] King, G.F.; Gentz, M.C.; Escoubas, P.; Nicholson, G.M. A rational nomenclature for naming peptide toxins from spiders and other venomous animals. Toxicon 2008, 52, 264–276.
[2] Monique J. Windley, Volker Herzig, Sławomir A. Dziemborowicz, Margaret C. Hardy, Glenn F. King and Graham M. Nicholson (2012). Spider-Venom Peptides as Bioinsecticides. Toxins, 4, 191-227.
The Pest Prediction System
I. The Factors of Prediction
We built a prediction model for our device to support our spraying system. The model will predict the number of the pest, so we can know when our farm will be in the pest threat in the future. Thus we can open our spraying system spraying PANTIDE to protect our farmland. To know the number of pests in the future, we used seven weather data in the past 20 days including, air pressure, the highest temperature, the lowest temperature, average temperature, humidity, precipitation, wind velocity, and also the accumulated number of bugs from the two periods including twenty to ten days ago and ten to one days ago. Because Pantide only influences on the larvae, we cannot easily predict the number of moths tomorrow or two or three days later. We needed to know the number of larvae in the future.
II. The Life History of Moth
After understanding the life history of the moths from Dr. Huang in Taiwan Agriculture Research Institute(see more), we can know that the time of pupa becoming moth ranges from six days to 14 days. So the moths we caught in 20 days must be the larvae in our farm right now. Therefore, we utilized the data of the accumulated number of moth in the next 20 days as the target of our prediction system, and we can use the output to know the time that requires spraying Pantide for prevention.
III.The Software Design of Prediction Model
The method we used was called neural network, one of the popular machine learning solutions, or another well-known name called deep learning. The model we used was a combination of two kinds of neural network, Recurrent Neural Network (RNN) and Artificial Neural Network (ANN). Becuase we got seven features of 20 days, equals 140 features in total, we cannot simply put it into ANN to train the model. Therefore, we used RNN which was good for this kind of time series data to compress the 140 features into seven compressed data and got the seven feature and the other two feature which we have previously mentioned. Therefore, we only had nine features in total and then put them into the ANN as the input to get the final prediction. Then, it will compute the errors between the actual answer and the output and use gradient descent and backpropagation to modify the weight in each network each neuron. After a bunch of train steps, we got our model with about 80% of accuracy.
IV. The Quality of the Model
The prediction model is also a part of our device system. After using the device to collect data in a farm, we can not only predict the number of moth with the model we already trained but also retrain our model with the data we collect in that farm. So, now we can modify the model according to each farm to get a specific model for it.
The programming language we use is python3.5, and the deep learning framework is the one developed by Google called tendorflow.