Examples of conversions from BioPAX graphs towards Cadbiom models

Reactome - Homarus_americanus.owl

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/homarus


Download link: homarus.bcx

Reactome - Crithidia_fasciculata.owl

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/crithidia


Download link: crithidia.bcx

Reactome - Vigna_radiata_var._radiata.owl

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/vigna


Download link: vigna.bcx

Reactome - Triticum_aestivum.owl

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/triticum


Download link: triticum.bcx

Reactome - Cavia_porcellus.owl

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/cavia


Download link: cavia.bcx

Virtual Cases - virtualCase1.owl


  • 1 class B containing B1 and B2
  • 1 class A containing A1 and A2
  • 1 class C containing C1 and C2
  • 1 reaction between classes: A + B => complex AB + C

Develop classes A and B and reconnect their child entities to products. There is also a generation of a class C without antecedents; Instead of making the Cartesian product of the 4 transitions (A1B1, A1B2, A2B1, A2B2) with C1 and C2, we chose to use a blank node C, which finally gives 6 transitions instead of 8 and simplifies the model and the solver’s search space. The side effect is that the production of C1 and C2 now takes place in 2 steps instead of just one.

PS: Without the --convertFullGraph option, the module does not decompile classes because their elements are not reused elsewhere.

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/1


Download link: virtualCase1.bcx

Virtual Cases - virtualCase2.owl

Challenge: Decompilation of a complex with used elements.

1 class C + 1 complex AB of 2 classes A and B => 2 classes A and B with disappearance of the class C.

  • C1 + A2_B2 => A2 + B2
  • C2 + A1_B1 => A1 + B1
  • etc.

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/2


Download link: virtualCase2.bcx

Virtual Cases - virtualCase1-2b.owl

Challenge: Connect entities without antecedent (the product Z), and without successor (the reactant X). These entities are not classes as in the cases virtualCase1 and virtualCase2.

The magic is done in the definition of events:

X -> Z: ((_h_1_2) when ((A and B2))) default ((_h_1_1) when ((A and B1)))
X -> AB_B1_A: (_h_1_1) when ((A and B1))
X -> AB_B2_A: (_h_1_2) when ((A and B2))

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/1-2b


Download link: virtualCase1-2b.bcx

Reactome - Escherichia_coli.owl

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/escherichia


Download link: escherichia.bcx

Reactome - Cricetulus_griseus.owl

Command: biopax2cadbiom --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/cricetulus


Download link: cricetulus.bcx

Reactome - Mycobacterium_tuberculosis.owl

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://reactome.org/mycobacterium

Download link: mycobacterium.bcx

Virtual Cases - virtualCase3.owl

Challenge: Decompilation of a class with useless elements.

One class A of which only one element A1 is reused elsewhere as a modulator. This element is considered as an entity. The others are ignored.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/3


Download link: virtualCase3.bcx

Virtual Cases - virtualCase4.owl

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/4


Download link: virtualCase4.bcx

Virtual Cases - virtualCase5.owl

Challenge: Combination of modulators.

  • 2 classes A and C acting on a reaction: A (activator), C (inhibitor)
  • 2 other modulators on the same reaction: B (activator), D (inhibitor)

We want at least 1 activator AND NOT an inhibitor for the reaction to be done

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/5


Download link: virtualCase5.bcx

Virtual Cases - virtualCase6.owl

Challenge: A class A with 2 members A1 and A2 that are not reused elsewhere. A is a component of the complex AB that regulates the reaction C -> D. Without –convertFullGraph, A1 and A2 must not be present in the model.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/6


Download link: virtualCase6.bcx

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/6 --convertFullGraph


Download link: virtualCase6a.bcx

Virtual Cases - virtualCase6b.owl

Challenge: Same as virtualCase6 but A is a simple protein instead a class.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/6b


Download link: virtualCase6b.bcx

Virtual Cases - virtualCase7.owl

Challenge: A class A with 3 members A1, A2 and A3; A1 and A3 are reused elsewhere. A1 is a control of the reaction B -> C. A3 participates to the reaction A3 -> D and A participates to the reaction A -> E. Without –convertFullGraph, A2 must not be present in the model.

PS: Until now in test cases, multiple members of classes were not reused in the model.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/7


Download link: virtualCase7.bcx

Virtual Cases - virtualCase8.owl

Challenge: Naming of entities according to their BioPAX ModificationFeatures. ModificationFeatures are covalent bindings between entities that are not proteins in theory; in practice, they can symbolize the addition of an inorganic phosphorus, an acetyl group or a protein of ubiquitin. More generally, these are post-translational modifications. The ModificationFeatures help us to uniquely name cadbiom entities that can have the same standard name. A can have 3 states: phosphorylated once, phosphorylated twice, phosphorylated twice and ubiquitinated and acetylated at the same time.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/8


Download link: virtualCase8.bcx

Virtual Cases - virtualCase9.owl

First challenge: The naming of entities that inherit classes according to their BioPAX ModificationFeatures. Classes can carry modifications and locations that must be transferred to child entities.

Here, Class_A-B has one modification: residue modification active; during the suppression of the genericity A and B entities must inherit of it.

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/9b


Download link: virtualCase9b.bcx

Second challenge: The identification of similar entities on both sides of the reaction after the suppression of the genericity (already seen in the case of test virtualcase1) and the renaming. A and B have specific entityReferences in the previous example. Because the names are different on both sides, without this biopax attribute the program can’t know that A is only linked to A_1r , it is thus obligatory to make the cartesian product between all entities.

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/9


Download link: virtualCase9.bcx

Virtual Cases - virtualCase10.owl

Challenge: Handle self-generating class with 0, 1 or more members reused elsewhere. Reactions can be converted into transitions from BioPAX but should not be loaded into the model. Moreover, since these are the same molecules on both sides, we do not want a cartesian product between the members of the class.

  • a: 0 member, A is a self-generating class without reused member.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/10


Download link: virtualCase10.bcx

Note: A warning appears when loading the model:

WARNING: Reflexive transition: Class_A -> Class_A - This transition will not be taken into account.
  • b: 1 member, A is a self-generating class with one reused member.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/10b


Download link: virtualCase10b.bcx

Note: A warning appears when loading the model:

WARNING: Reflexive transition: A1 -> A1 - This transition will not be taken into account.
  • c: 2 members, A is a self-generating class with all its members reused.

Command: biopax2cadbiom model --convertFullGraph --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/10


Download link: virtualCase10c.bcx

Note: Two warnings appear when loading the model:

WARNING: Reflexive transition: A1 -> A1 - This transition will not be taken into account.
WARNING: Reflexive transition: A2 -> A2 - This transition will not be taken into account.

Virtual Cases - virtualCase11.owl

Challenge: Identify and merge together the duplicated entities in the model. Please note that the duplicates can come from the BioPAX database, as well as from the process of transferring post-translational modifications of classes to their daughter entities in transfer_class_attributes_on_child_entities function

In this example there are 2 similar complexes with different URIs: #Complex_Aa and #Complex_Abisa. They are called similar because they share the same following attributes:

  • entityType: Complex
  • entityRef: None
  • name: A(dimer)
  • components_uris: #Protein_A
  • location_uri: #CellularLocationVocabulary_nucleus
  • modificationFeatures: #ModificationFeature_activation

There is an inactivation reaction of the complex #Complex_Aa to the complex #Complex_Ai, and a reaction of formation of the complex named A(dimer)-B based on a protein B and the complex #Complex_Abisa.

Merging entities brings together the complex #Complex_Aa and #Complex_Abisa as a single entity.

Note: As we can see on the following illustration, Chibe does not represent homomeric complexes as heteromeric complexes, and omits the representation of the activation or inactivation information of them.

Note: During the conversion process 3 additional files are created in order to keep track of the changes made:

  • sort_dumped.txt: The sorted list of entities in the queried graph database. This file can also contain duplicate entities specially created for the purposes of data translation.
  • sort_grouped.txt: Groups of entities with similar characteristics
  • sort_grouped_after_merge.txt: The final groups of entities, where we can see the definitive URI choosen for each group.

Command: biopax2cadbiom model --listOfGraphUri http://biopax.org/lvl3 http://virtualcases.org/11


Download link: virtualCase11.bcx