Team:USTC Software/hoWIO
From 2009.igem.org
About | Team and People | Project | Standard | Notebook | Demo | Safety | External Links |
---|
SBML[http://sbml.org The Systems Biology Markup Language (SBML)] is a computer-readable format for representing models of biological processes. It's applicable to simulations of metabolism, cell-signaling, and many other topics. SBML has been evolving since mid-2000 thanks to an international community of software developers and users. SBML does not represent an attempt to define a universal language for representing quantitative models. It would be impossible to achieve a one-size-fits-all universal language. A more realistic alternative is to acknowledge the diversity of approaches and methods being explored in systems biology, and seek a common intermediate format—a lingua franca—enabling communication of the most essential aspects of the models. The adoption of SBML offers many benefits, including:
SBML is neutral with respect to programming languages and software encoding; however, it's oriented towards allowing models to be encoded using XML. By supporting SBML as a format for reading and writing models, different software tools (including programs for building and editing models, simulation programs, databases, and other systems) can directly communicate and store the same computable representation of those models. This removes an impediment to sharing results and permits other researchers to start with an unambiguous representation of the model, examine it carefully, propose precise corrections and extensions, and apply new techniques and approaches—in short, to do better science. As the matter of fact, there has been lots of softwares known to us to provide some degree of support for reading, writing, or otherwise working with SBML. Thus, we make SBML to access our software, which makes it more compatible to other biological softwares. Users can get SBML file from
The class ReadSBMLFile is used to extract all useful data from a SBML file and send them to the class “val_func”. Since each class represents one term of the the expression. all the terms will be push into a vector. In another word, another container has been created used to place a list of "val_func", of course you can realize that Nth list of "val_func" accommodates all the informations related to Nth species in this Biological system. Finally, all the containers will be package orderly and send to the Particle Swarm Optimization Algorithm (PSO) part or the Global Sensitivity Analysis (GSA) part for the next step. Here are the components of class “val_func”. class val_func { public: val_func(); ~val_func(); int type; //the type of the kineticlaw //Due to the ASTNode(a simple kind of data structure) //used to store mathematical expressions in SBML //most of them is algebraic expression), it is hard //to judge the type mentioned in the file. Usually we //give a number 15 to this variable, which implies the //expression will be execute by route “user define”. int spec_num; //number of species int para_num; //number of parameters vector<int> spec; //serial number of the species of the reaction vector <double> para; //initial value of the parameters vector <string> para_name; //IDs/names of the parameters vector <string> var_name; //IDs/names of the species map<int,double> min_data; //N/A map<int , double> max_data; //N/A const ASTNode * head; //ASTNode tree of the formula double value( const vector<double>& s); //N/A }; 2.WriteSBMLFile The class WriteSBMLFile is used to output a SBML file base on the species and parameters selected from the database part. In this part, the class WriteSBMLFile extract data from the two following file: “subs.dat”; ”dbt.dat”. Assitant Input Plug-insIn order to simplify the input procedure of the data file describing time course which sometimes gets really redundant, we also program a small .exe file to help convert *.bmp file to *.dat file based on following assumptions.
Following is a small demo of this tool. There are definitely quite a lot to improve, including |