Mackinac: A bridge between ModelSEED and COBRApy
Mackinac combines the ability of ModelSEED to automatically reconstruct metabolic models with the advanced analysis capabilities in cobrapy to bridge the differences between the two frameworks. Mackinac provides support for using the ModelSEED web service to create draft genome-scale models from genomes available in the Pathosystems Resource Integration Center (PATRIC) and creates a COBRA model from a ModelSEED model. If you are not a registered PATRIC user, you must complete a new user registration to work with the ModelSEED web service.
If you already have models available in ModelSEED, you can simply import and create a COBRA model with the create_cobra_model_from_modelseed_model() function. You can then use all of the features in cobrapy to analyze, inspect, explore, and draw conclusions from the model.
You can also reconstruct and gap fill models using the ModelSEED service for any organism with a genome available in PATRIC. Additional functions are available for working with ModelSEED models, managing workspace objects, getting information about PATRIC genomes, and calculating reaction likelihoods.
More information about opencobra is available at the website.
pip install mackinac
Mackinac requires the cobrapy, requests, configparser, and six packages.
Mackinac uses web services provided by other organizations which can be offline, the interface can change, or the URL can change. Mackinac uses these default URLs:
Alternate URLs include the following:
You can change the URL used to connect to a web service as shown below:
>>> import mackinac >>> mackinac.modelseed.ms_client.url = 'https://p3.theseed.org/services/ProbModelSEED' >>> mackinac.workspace.ws_client.url = 'https://p3.theseed.org/services/Workspace' >>> mackinac.genome.patric_url = 'https://www.patricbrc.org/api/'
If virtualenvwrapper is not installed, follow the directions to install virtualenvwrapper.
Clone the git repository to your computer.
$ git clone https://github.com/mmundy42/mackinac.git
Create a virtualenv for Mackinac with these commands:
$ cd mackinac $ mkvirtualenv --python python2 mackinac-py27
Use the --python option to select a specific version of Python for the virtualenv. For example, python=python3 to select the current python3 installed on the system.
Note on macOS, matplotlib requires Python be installed as a framework but virtualenv creates a non-framework build of Python. See the matplotlib FAQ for details on a workaround.
Upgrade pip and setuptools to the latest versions with these commands:
(mackinac-py27)$ pip install --upgrade pip setuptools
Install all of the Mackinac dependencies with this command:
(mackinac-py27) pip install -r requirements.txt
This command can take a few minutes while numpy, pandas, and libsbml are built in the virtualenv.
Install the latest version of Mackinac with this command:
(mackinac-py27)$ python setup.py install
Install the pytest package with this command:
(mackinac-py27)$ pip install pytest
You need to provide a username and password for the tests to obtain an authentication token. Substitute your PATRIC username and password and run the tests with this command:
(mackinac-py27)$ TEST_USERNAME=<username> TEST_PASSWORD=<password> pytest mackinac/test
An example of how to use Mackinac is provided in a notebook. Here’s how to start Jupyter and run the notebook from the virtualenv.
Install Jupyter with this command:
(mackinac-py27)$ pip install jupyter
Install a kernel that uses the virtualenv installation with this command:
(mackinac-py27)$ ipython kernel install --name "Mackinac_Python27" --user
Start the Jupyter notebook server with this command:
(mackinac-py27)$ jupyter notebook
Jupyter opens a web page in your default browser with a file browser.
Navigate to the “documentation_builder” folder and click on the “modelseed.ipynb” notebook.
After the notebook opens, from the “Kernel” menu, select “Change kernel” and click on “Mackinac_Python27”.
Now you can run the cells in the notebook.
The Mackinac Bridge is one of the longest suspension bridges in the United States and spans the Straits of Mackinac to connect the Upper and Lower Peninsulas of Michigan.