MODEL Server Description


get_reaction_id_list: 

takes as input a hash with key "id" pointing to a list of model IDs (e.g. '{"id" => ["Seed83333.1","iJR904"]}'). This function returns a hash with the model IDs as keys pointing to arrays of the reaction IDs in the models (e.g. '{"iJR904" => ["rxn00001","rxn00002"...],"Seed83333.1" => ["rxn00003","rxn00007"...]}'). If no ids are input or if the id "ALL" is submitted, this function will return a list of all reaction IDs in the database.

get_reaction_data:

takes as input a a hash with key "id" pointing to a list of reaction IDs and (optionally) the key "model" pointing to a list of model ids (e.g. '{"id" => ["rxn00001","rxn00002"...], "model" => ["iJR904","Seed83333.1"]}'). This function returns a hash with the input IDs as keys pointing to hashes with the reaction data (e.g. '{"rxn00001" => {"DATABASE" => ["rxn00001"],"EQUATION" => ["A + B => C + D"],"Seed83333.1" => {"DIRECTIONALITY" => ["<="],"COMPARTMENT" => ["c"],"ASSOCIATED PEG" => ["peg.1+peg.2","peg.30"]}}'). The keys in the reaction data hash are "DATABASE" pointing to the reaction ID, "NAME" pointing to an array of reaction names, "EQUATION" pointing to the reaction stoichiometry, "ENZYME" pointing to an array of reaction EC numbers, "PATHWAY" pointing to an array of the metabolic pathways the reaction is involved in, "REVERSIBILITY" pointing to the predicted reversibility for the reaction, "DELTAG" pointing to the predicted gibbs free energy change of the reaction, "DELTAGERR" point to the uncertainty in the predicted free energy change, and "KEGGID" pointing to the ID of the reaction in the KEGG database.

get_compound_id_list:

 takes as input a hash with the key "id" pointing to a list of model IDs (e.g. {"id" => ["Seed83333.1","iJR904"]}). Returns a hash with the input IDs as keys pointing to arrays of the compound IDs in the models (e.g. '{"iJR904" => ["cpd00001","cpd00002"...],"Seed83333.1" => ["cpd00003","cpd00007"...]}'). If no ids are input or if the id "ALL" is submitted, this function will return a list of all compound IDs in the database.

get_compound_data:

takes as input a hash with the key "id" pointing to a list of compound IDs and (optionally) the key "model" pointing to a list of model ids (e.g. {"id" => ["rxn00001","rxn00002"...], "model" => ["iJR904","Seed83333.1"]}). Returns a hash with the input IDs as keys pointing a hash with the compound data (e.g. {"rxn00001" => {"DATABASE" => ["rxn00001"],"EQUATION" => ["A + B => C + D"],"Seed83333.1" => {"DIRECTIONALITY" => ["<="],"COMPARTMENT" => ["c"],"ASSOCIATED PEG" => ["peg.1+peg.2","peg.30"]}}). The keys in the compound data hash are "DATABASE" pointing to the ID of the compound in the database, "NAME" pointing to an array of names for the compound, "FORMULA" pointing to the molecular formula of the compound at pH7, "CHARGE" pointing to the charge of the compound at pH7, "STRINGCODE" pointing to a unique string that encodes the compound structure, and "KEGGID" pointing to an array of KEGG ID for the compound.

get_media_id_list:

takes no input and returns a list of the IDs for all media formulations stored in the SEED biochemistry database. These are the only media formulations on which flux balance analysis may be performed.

get_media_data:

takes as input a hash with the key "id" pointing to an array of media ids (e.g. {"id" => ["Carbon-D-Glucose","ArgonneLBMedia"]}). Returns a hash with the media ids pointing to a hash containing the media data (e.g. {"Carbon-D-Glucose" => {"Compounds" => ["cpd00001","cpd00002"...],"Compartments" => ["e","e"...],"Max" => [100,100...],"Min" => [-100,-100...]}}).

get_model_id_list:

takes as input a hash with the key "user" pointing to the username of a RAST account and the key "password" pointing to the password from the same RAST account. The function returns an array containing the names of all models owned by the user. If no input is provided, the function returns an array containing the names of all public models.

get_model_data:

takes as input a hash with the key "id" pointing to an array of model ids and the optional key "user" pointing to a RAST account along with the key "password" pointing to the password for the RAST account (e.g. {"id" => ["Seed83333.1","iJR904"],"user" => "reviewer","password" => "eval"}). Returns a hash with the model ids as keys pointing to a hash containing the model data (e.g. {"Seed83333.1" => {"Genome" => "83333.1","Name" => "E. coli","Source" => "SEED"...}}). User ID and password must be provided to access data for private models.

classify_model_reactions:

takes as input a hash with the key "model" pointing to an array of hashes with analysis parameters, the key "user" pointing to the username associated with a RAST account, and the key "password" pointing to the password associated with the RAST account (e.g. {"model" => [{"id" => "Seed83333.1","media" => "Carbon-D-Glucose","reactionKO" => "rxn00001;rxn00002","geneKO" => "peg.1,peg.2"}],"user" => "reviewer", "password" => "eval"}). The analysis parameters are stored in hashes where the keys are the parameter names pointing to the parameter values. Only one parameter is required: "id" pointing to the name of the model to be analyzed. Optional parameters include "media" pointing to the name of the media for the simulation (default is complete media), "reactionKO" pointing to a ";" delimited list of reactions to be knocked out (default is no reactions knocked out), and "geneKO" pointing to a ";" delimited list of the genes to be knocked (default is no genes knocked out). This function returns an array of the input analysis parameters with the additional key values "reactions" (which points to an array of the reactions in the model), "classes" (which points to an array of the class each reaction was assigned to), "max flux" (which points to an array of the maximum possible flux through each reaction), and "min flux" (which points to an array of the minimum possible flux through each reaction) (e.g. [{"id" => "Seed83333.1","media" => "Carbon-D-Glucose","reactionKO" => "rxn00001;rxn00002","geneKO" => "peg.1,peg.2", "reactions" => ["rxn00001","rxn00002"....], "classes" => ["essential =>","essential <=",...], "max flux" => [100,-10...], "min flux" => [10,-100...]}]). If the  "reactions" key is undefined in the output, this means the specified model did not grow in the specified conditions.

simulate_all_single_gene_knockout:

takes the same input as the "classify_model_reactions" function, and like the "classify_model_reactions" function, this function returns an array of the input analysis parameters with additional key values. However, in this function, the additional key values are "essential genes" and "non essential genes" (e.g. [{"id" => "Seed83333.1","media" => "Carbon-D-Glucose","reactionKO" => "rxn00001;rxn00002", "geneKO" => "peg.1,peg.2", "essential genes" => ["peg.10","peg.45"...], "nonessential genes" => ["peg.1", "peg.2"...]}]). If the  "essential genes" and "nonessential genes" keys are undefined in the output, this means the specified model did not grow in the specified conditions.

simulate_model_growth:

takes the same input as the "classify_model_reactions" function, and like the "classify_model_reactions" function, this function returns an array of the input analysis parameters with additional key values. However, in this function, the additional key values are "growth" (which points to a float with the optimal growth of the model in the specified conditions), "reactions" (which points to the reactions in the model), and "fluxes" (which points to the flux through each reaction) (e.g. [{"id" => "Seed83333.1","media" => "Carbon-D-Glucose","reactionKO" => "rxn00001;rxn00002", "geneKO" => "peg.1,peg.2", "growth" => 4.5, "reactions" => ["rxn00001","rxn00002"....], "fluxes" => [11,-11...]}]).