opencobra / COBRA.tutorials

Repository of tutorials for The COBRA Toolbox
https://git.io/COBRA.tutorials
18 stars 47 forks source link

Add COBRArrow MATLAB API Tutorial #208

Open fernweh-3 opened 2 weeks ago

fernweh-3 commented 2 weeks ago

Description:

This PR introduces a comprehensive tutorial for the COBRArrow MATLAB API. The tutorial is designed to guide users through the key functionalities of COBRArrow, including environment setup, sending models to a remote server, fetching models, persisting models to a database, and optimizing models.

Key Sections Covered:

  1. Introduction:

    • Provides an overview of COBRArrow and its purpose in handling large-scale biochemical reaction models through remote procedure calls (RPC).
  2. Step 1: Environment Setup:

    • Detailed instructions for ensuring that MATLAB, Python, and the COBRA Toolbox are properly installed and configured.
    • Specific guidance on Python compatibility with MATLAB, with links to relevant MathWorks documentation.
  3. Step 2: Setting Up COBRArrow:

    • Instructions on initializing COBRArrow within MATLAB, including how to establish a connection to a remote server.
  4. Step 3: Sending and Optimizing a Model:

    • Demonstrates how to load a model, send it to the remote server, and run optimizations using remote resources.
    • Includes examples of setting solver parameters and handling potential errors, such as overwriting existing models on the server.
  5. Additional Methods:

    • Explains how to fetch models and specific fields from the server, persist models to a database, and list flight information on the server.
  6. Troubleshooting:

    • Provides common troubleshooting steps for issues related to sending models, running optimizations, and ensuring compatibility.
  7. Acknowledgments:

    • Notes on current limitations, such as the lack of support for parameter changes in the remote optimization service, and the importance of persisting models to prevent data loss.

Reviewers:

Please review the tutorial for:

Feedback on improving the tutorial content or identifying any gaps is welcome.