Submodules

COBRA Toolbox Submodules Ecosystem

COBRA Toolbox Submodules Structure

This tutorial explains how the COBRA Toolbox ecosystem of repositories is organised and how you should contribute new material. It is intended for contributors who want to add binaries, models, paper specific code or tutorials that will appear on the COBRA Toolbox website.

A key point

In order to add a file to any of these repositories, you must add it directly to the corresponding main repository on GitHub (for example COBRA.tutorials, COBRA.models and so on), not to the opencobra/cobratoolbox repository.

The cobratoolbox repository only contains submodule pointers. The actual content lives in the external repositories listed below.

Overall repository layout

Main toolbox repository

The central codebase is hosted at:

This repository contains the core code and the submodule references to external repositories responsible for storing binaries, tutorials, models and paper specific content.

Submodules:

COBRA.binary

Repository: https://github.com/opencobra/COBRA.binary

Purpose: This repository stores large binary files required by the COBRA Toolbox. Keeping these files here prevents the main repositories from becoming too large.

Contribution guidelines

COBRA.papers

Repository: https://github.com/opencobra/COBRA.papers

Purpose: This repository contains folders for published papers in genome-scale modelling. Each folder holds reproduction scripts, workflows and visualisation resources.

Contribution guidelines

COBRA.tutorials

Repository: https://github.com/opencobra/COBRA.tutorials

Purpose: This repository stores MATLAB live script tutorials (.mlx). A continuous integration pipeline automatically publishes new tutorials to the website:

Contribution guidelines

  • Add MLX tutorials directly to COBRA.tutorials.

  • Do not add tutorial files to the main toolbox.

COBRA.models

Repository: https://github.com/opencobra/COBRA.models

Purpose: This repository stores genome scale metabolic models. Using this repository prevents unnecessary growth of the main toolbox.

Contribution guidelines

How to contribute in practice

Select the correct repository

Work directly in that repository

  • Fork the correct repository (for example COBRA.tutorials).

  • Clone it locally, create a branch and add your files.

Open a pull request

Submodule pointer updates

  • After your contribution is merged, maintainers will update the submodule pointer in the main toolbox.

Key reminders

  • The main toolbox lives at opencobra/cobratoolbox.

  • All binaries, models, tutorials and paper specific content must be added to their dedicated repositories.

  • Add files directly to the appropriate main repository, not to the toolbox.

  • Using the correct repository keeps the ecosystem clean, modular and maintainable.

Following these guidelines ensures your work is properly integrated and supports the COBRA community effectively.