Pan-core analysis and model comparison

refineGEMs contains functions for working with pan-core models and for comparing model content. These functions are useful when curating a set of related strain models or when checking how one model differs from a reference or pan-core model.

Note

The pan-core module is not fully developed yet. The current implementation should be treated as a starting point and may be extended or revised in a future update.

Pan-core model construction

A pan-core model can be constructed from multiple input models with:

refinegems setup build-pancore MODEL_A.xml MODEL_B.xml MODEL_C.xml --name pan-core-model --dir pancore

By default, genes are removed from the generated pan-core model. Use --keep-genes if the gene layer should be retained:

refinegems setup build-pancore MODEL_A.xml MODEL_B.xml --keep-genes --dir pancore

The Python API for this workflow is generate_core_pan_model().

Comparing a model to a pan-core model

Once a pan-core model exists, another model can be compared against it:

refinegems analyse pancore MODEL.xml PANCORE.xml --dir pancore_comparison

The corresponding Python function is compare_to_core_pan().

Comparing SBO annotations

The command-line comparison currently supports comparing SBO term distributions across multiple models:

refinegems analyse compare MODEL_A.xml MODEL_B.xml --type sboterm --dir comparison

To run all available comparison plots, use:

refinegems analyse compare MODEL_A.xml MODEL_B.xml --all --dir comparison

The Python API behind this workflow is available in comparison, especially sbo_terms().