Synthetic Biology is the design and construction of biological devices and systems for useful purposes. It is an area of biological research and technology that combines biology with engineering (From Wikipedia). As a result, it is inevitable to import exogenous gene into engineered bacteria to enhance special protein’s expression. But the result of import couldn’t be found out without cumbersome wet lab experiments. There will be some results out of control because the infect of gene regulatory network(GRN) is rarely considered when finding imported gene.

Gene Network Analyze and Predict (gNAP) is a software which can model the interaction between genes and figure out the expression of all genes in new GRN. Using alignment method, gNAP predicts the interactions between new gene and original genes to construct a new GRN. What’s more, gNAP’s inverse modeling based on overall GRN gives advice to experimenters before choosing the imported gene meeting their purpose.

gNAP is the FIRST software analyzing the infection of importing new exogenous gene into engineered bacteria. Take a gNAP before your experiment!


gNAP’s source code is written in C++ programming language and its visualization parts are written in Java programming language. The GUI is designed with Qt which is based on C++ also. As a result, all of them can be compiled across various platforms. The executable program has been built on Windows, Linux and MacOS operating systems.

There are four major parts in gNAP called Start, Monitor, Result and Display. “Start” is used to fetch the information from data downloaded from Online Database by users. When software is running, the part of “Monitor” is like a monitor which could observe the process of analyze and predict. All succinct results can be seen in “Result” part letting users have a broad view. “Display” written in JAVA is the last part displaying the results in an intuitive visual graphical interface.

gFinder(gene finder)'s source code is written in C++ language and it is a website software which is really convinient. You can use this software just click here. All source code of this software is also push up to our github.

gRNA(gene regulatory network analists) is a gaming program for children who interested in network analysis. Through this game they can cultivate the interest of biology and have a visual image of complex regulatory network. The calculation module is as same as the modeling of GRN in our major software “gNAP”. To improve the playability of this app, we reduced the difficulty of analysis in purpose to investigate the analytical thinking ability of complex network regulation.


In order to simulate the GRN’s working and analyze the change after exogenous gene imported, some advanced algorithms and classical methods have been employed in the software. These algorithms and methods include Binary Tree method, Needle-Wunsch Algorithm, Decision Tree method, Hill Equation and PSO Algorithm. To meet need of the analysis and prediction, our team innovatively improved most of algorithms and methods to make the simulation more accurate and more efficient.

gNAP uses Binary Tree to filtrate useful information from database and construct them together as resource for simulation afterward. Needle-Wunsch Alignment Algorithm, Decision Tree method and Hill Equation are utilized to analyze the new GRN. On the other side, to figure out an advise for choosing imported gene, PSO Algorithm finds out the best interaction meeting users’ needs.


The database used in gNAP is flexible because the software could construct GRN on any data sources. But because our team use RegulonDB as an example to test gNAP, fetching mode built-in gNAP now only suit to the form of RegulonDB’s files. It is very easy to change the format of importing based on the database. It should be a must that the files downloaded contain all information needed in the software. Such as gene sequence, promoter sequence, mutual regulation, gene name and so on.

The built-in database in gNAP is Escherichia coli K-12 database which contains interaction and information about all genes. The software choose TF(Transcription Factor) to TF Database, TF to Gene Database, Gene Info Database, Promoter Info Database, TU(Transcription Unit) Info Database.[download here]