ModECI / MDF

This repository contains the source for the MDF specification and Python API
https://mdf.readthedocs.io
Apache License 2.0
36 stars 69 forks source link

Tasks/ Milestones #513

Closed ChisomNwankwo closed 8 months ago

ChisomNwankwo commented 8 months ago

Task 1: Read the MDF paper, install MDF locally and try some of the example models

The paper introducing MDF can be found at https://mdf.readthedocs.io/en/latest/api/MDFpaper.html. Have a read over it, don’t worry if you don’t understand it all (it’s mainly intended for neuroscientists) but it should give you a feel for the aims of the project. See https://mdf.readthedocs.io/en/latest/api/Installation.html for installation details for the MDF package. Run the example Python scripts in https://github.com/ModECI/MDF/tree/main/examples/MDF to get a feel for the language.

Task 2: Create an OSB account and edit a Jupyter notebook to create a novel MDF model

Create a new account on Open Source Brain v2: https://www.v2.opensourcebrain.org Create a new workspace from the ModECI MDF OSBv2 repository (which points to the main MDF GitHub repository here: https://github.com/ModECI/MDF) Open the workspace in the JupyterLab application. Install the latest version of MDF which has been copied into the workspace (launch a Terminal, go to /opt/workspace/ModECI MDF/main, type pip install .) Open the simple example Jupyter notebook (at /opt/workspace/ModECI MDF/main/examples/SimpleExample.ipynb) and go through this to understand the main concepts in MDF. Create a new notebook in your workspace which creates an MDF model with a number of connected nodes, with a unique mathematical expression in each and at least one time derivative (example). It should represent a simple model of a dynamical system in biology or physics containing an ordinary differential equation, and demonstrate your understanding of MDF. Email us a link to the workspace (see Outreachy for mentors' contact details). To get a feel for what OSBv2 can be used for see the Guided tour of OSBv2

Task 3: Create a simple Streamlit application which uses MDF

A simple graphical application should be created using Streamlit which imports MDF and allows a model to be executed at the press of a button, with output displayed. Ideally it would use the example MDF you have created above, and potentially plots the output at multiple time points (as in this example). Email us a link to where the public app is hosted (e.g. a Space on HuggingFace).

pgleeson commented 8 months ago

@ChisomNwankwo It would be better to record your tasks/progress in issues in your own fork of this repo. This issue list is for changes required to/questions about the current codebase. You can also use the Discussions forum for general queries.