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