Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create google colab 'sandbox' environment for Biosimulators interaction #5

Draft
wants to merge 20 commits into
base: dev
Choose a base branch
from

Conversation

AlexPatrie
Copy link

@AlexPatrie AlexPatrie commented Apr 26, 2023

Problem scenario

  • A user with a non(or sparsely)-programmatic background, such as a student, wants to use our tooling. They are not familiar with Docker, nor are they familiar with Python on the level of CLI interaction. Their professor speaks of biological simulations, which piques the interest of the student. They want to learn the concepts mentioned in class while becoming familiar with programming.

Addresses a need for the following:

  • A 'startup' environment that users are able share and access with a web browser that is lightweight

What does this PR do?

  • Adjusts Dockerfile for wheel build dependency issue
  • Adds a jupyter notebook entitled "Biosimulators_Playground" which will be formatted into a Google Colab notebook that is viewable on this repo's landing page

To Do PRIOR to merge

  • Format for Google Colab
  • Refactor for build error

@netlify
Copy link

netlify bot commented Apr 26, 2023

Deploy Preview for determined-booth-118c06 failed.

Name Link
🔨 Latest commit 5583e2d
🔍 Latest deploy log https://app.netlify.com/sites/determined-booth-118c06/deploys/644fcf339a9819000833f91f

@AlexPatrie
Copy link
Author

During CI, an old version of utils is being used to build the tutorials repo and thus there is an error when importing the object CompilationException. I am going to attempt to assert higher upper bounds for the biosimulators-utils dependency requirement. After all, this is the tutorial and should have an up-to-date utils backend!

@AlexPatrie AlexPatrie added the enhancement New feature or request label Apr 27, 2023
@AlexPatrie
Copy link
Author

I propose a change to the readme as follows:

Open In Colab
Binder
All Contributors

Logo

BioSimulators tutorials

This repository contains Jupyter notebooks with tutorials for the Python APIs for the simulation tools registered with BioSimulators and a Jupyter notebook server for running the notebooks. NEW: As an alternative to the Jupyter Notebooks and relative Jupyter Notebook server, we have added a Google Colab Notebook for users that are more comfortable with a shareable, annotatable "sandbox environment". Complete with the required dependencies, input data, and explicitly-defined methods that are essential to interacting with Biosimulators, this Google Colab notebook serves as "click and play" experience.

The tutorials are located in the tutorials subdirectory. The README in this directory summarizes the content of the tutorials.

Getting started

Running the tutorials online with Google Colab (web-based, minimal setup)

Open https://colab.research.google.com/drive/1aI7Z6ZBcQzOc9PJllW9N9oeTcFtXfhTd#offline=true&sandboxMode=true in your browser or click on the above Colab badge.

Running the tutorials online with Binder

The easiest way to run the tutorials is with Binder. Simply open https://tutorial.biosimulators.org/ in your browser.

Running the tutorials on your own machine

Run the following command to download the tutorials:

docker pull ghcr.io/biosimulators/tutorials

Run the following command to launch a Jupyter notebook server at http://localhost:8888 for the tutorials in this repository:

docker run -it --rm -p 8888:8888 ghcr.io/biosimulators/tutorials jupyter notebook --ip=0.0.0.0 --port=8888

Alternatively, run the following command to launch a Jupyter lab server at http://localhost:8888 for the tutorials in this repository:

docker run -it --rm -p 8888:8888 ghcr.io/biosimulators/tutorials jupyter lab --ip=0.0.0.0 --port=8888

License

This package is released under the MIT license.

Development team

This package was developed by the Karr Lab at the Icahn School of Medicine at Mount Sinai in New York as part of the Center for Reproducible Biomodeling Modeling with assistance from the contributors listed here.

Funding

This package was developed with support from the National Institute for Bioimaging and Bioengineering (award P41EB023912).

Questions and comments

Please contact us at [email protected] with any questions or comments.

@AlexPatrie AlexPatrie requested a review from eagmon May 1, 2023 14:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Development

Successfully merging this pull request may close these issues.

1 participant