Skip to content

implement cobra conventions for model identifier conversion #14

@jotech

Description

@jotech

There are different rules for how to deal with special characters like parentheses in the cobra community, compared to what is considered by the sbml importer itself (see opencobra/cobratoolbox#1089).

Currently, cobrar does not convert model ids strings, which could lead to unwanted side effects, for instances, when considering exchange reactions:

Escherichia_coli_str_K_12_substr_MG1655.xml.gz (agora1 model)

mod <- cobrar::readSBMLmod("Escherichia_coli_str_K_12_substr_MG1655.xml.gz") # v1
mod@react_id[grepl("EX_", mod@react_id)][1:5]
[1] "EX_15dap_LPAREN_e_RPAREN_"   "EX_2ddglcn_LPAREN_e_RPAREN_" "EX_4abut_LPAREN_e_RPAREN_"   "EX_Lcyst_LPAREN_e_RPAREN_"   "EX_acac_LPAREN_e_RPAREN_"   

Escherichia_coli_str_K_12_substr_MG1655.xml.gz (agora2 model)

mod <- cobrar::readSBMLmod("Escherichia_coli_str_K_12_substr_MG1655.xml.gz") # v2
mod@react_id[grepl("EX_", mod@react_id)][1:5]
[1] "EX_12ppd_S__40__e__41__" "EX_15dap__40__e__41__"   "EX_2ddglcn__40__e__41__" "EX_3hpppn__40__e__41__"  "EX_4abut__40__e__41__"  

We should implement the conversion of sbml ids according to opencobra/cobratoolbox@d960fbd.
This would improve the support of older models, especially the ones from the agora collection.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions