Code Monkey home page Code Monkey logo

mackinac's Introduction

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.

Please use the cobrapy Google Group for help. Alternatively, you can use gitter.im for quick questions and discussions (faster response times).

More information about opencobra is available at the website.

Installation

Use pip to install Mackinac from PyPI (we recommend doing this inside a virtual environment):

pip install mackinac

Web service URLs

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 = 'http://p3c.theseed.org/dev1/services/ProbModelSEED'
>>> mackinac.workspace.ws_client.url = 'https://p3.theseed.org/services/Workspace'
>>> mackinac.genome.patric_url = 'https://www.patricbrc.org/api/'

Direct installation in virtual environment

  1. If virtualenvwrapper is not installed, follow the directions to install virtualenvwrapper. You should also update your shell startup file.

  2. Clone the git repository to your computer with this command:

    $ git clone https://github.com/mmundy42/mackinac.git
    
  3. Create a virtualenv for Mackinac with these commands:

    $ cd mackinac
    $ mkvirtualenv mackinac
    

    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.

  4. Upgrade pip and setuptools to the latest versions with these commands:

    (mackinac)$ pip install --upgrade pip setuptools
    
  5. Install all of the Mackinac dependencies with this command:

    (mackinac)$ pip install -r requirements.txt
    

    This command can take a few minutes while numpy, pandas, and libsbml are built in the virtualenv.

  6. Install the latest version of Mackinac with this command:

    (mackinac)$ python setup.py install
    
  7. Install the pytest package with this command:

    (mackinac)$ pip install pytest
    
  8. 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)$ TEST_USERNAME=<username> TEST_PASSWORD=<password> pytest mackinac/test -v
    

Run examples in a notebook

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.

  1. Install Jupyter with this command:

    (mackinac)$ pip install jupyter
    
  2. Install a kernel that uses the virtualenv installation with this command:

    (mackinac)$ ipython kernel install --name "Mackinac_Python27" --user
    
  3. Start the Jupyter notebook server with this command:

    (mackinac)$ jupyter notebook
    

    Jupyter opens a web page in your default browser with a file browser.

  4. Navigate to the "documentation_builder" folder and click on the "modelseed.ipynb" notebook.

  5. After the notebook opens, from the "Kernel" menu, select "Change kernel" and click on "Mackinac_Python27".

  6. Now you can run the cells in the notebook.

Release Notes

Version 0.8.4 (May 18, 2017)

  • Fixed usages of deprecated cobra.core.Model.add_reaction() function
  • Added another way to parse error returned by ModelSEED server

Version 0.8.3 (May 8, 2017)

  • Fixed setting reaction objective coefficient with cobra 0.6

Version 0.8.2 (May 5, 2017)

  • Removed dependency on a specific version of six package
  • Updated directions for virtual environment installation
  • Switched default ModelSEED service URL to current active server

Version 0.8.1 (March 15, 2017)

  • Version corresponding to published paper

How to cite Mackinac

If you use Mackinac for an analysis, please cite this paper: Mackinac: a bridge between ModelSEED and COBRApy to generate and analyze genome-scale metabolic models

References

  1. COBRApy: COnstraints-Based Reconstruction and Analysis for Python
  2. High-throughput generation, optimization and analysis of genome-scale metabolic models (ModelSEED)
  3. PATRIC, the bacterial bioinformatics database and analysis resource

Mackinac Bridge

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.

mackinac's People

Contributors

mmundy42 avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.