Giter Club home page Giter Club logo

biosimulations / biosimulations Goto Github PK

View Code? Open in Web Editor NEW
36.0 7.0 13.0 197.17 MB

A platform for sharing and reusing biomodeling studies including models, simulations, and visualizations of their results

Home Page: https://biosimulations.org

License: MIT License

JavaScript 0.24% TypeScript 71.88% HTML 12.91% Dockerfile 0.35% Shell 0.52% SCSS 3.67% Sass 0.01% Python 10.43% CSS 0.01%
biology modeling simulation standards sbml sed-ml vega reproducibility biochemical-networks biosimulations

biosimulations's Introduction

Logo

App Status App Status Continuous Integration Continuous Deployment

CII Best Practices Quality Gate Status Maintainability Rating Reliability Rating Security Rating

Bugs Code Smells Duplicated Lines (%) Lines of Code Vulnerabilities Technical Debt

All Contributors Contributor Covenant Commitizen friendly

DOI

BioSimulations 🧬

More comprehensive and more predictive models have the potential to advance biology, bioengineering, and medicine. Building more predictive models will likely require the collaborative efforts of many investigators. This requires teams to be able to share and reuse model components and simulations. Despite extensive efforts to develop standards such as COMBINE/OMEX, SBML, and SED-ML, it remains difficult to reuse many models and simulations. One challenge to reusing models and simulations is the diverse array of incompatible modeling formats and simulation tools.

This package provides three tools which address this challenge:

  • BioSimulators is a registry of containerized simulation tools that provide consistent interfaces. BioSimulators makes it easier to find and run simulations.
  • runBioSimulations is a simple web application for using the BioSimulators containers to run simulations. This tool makes it easy to run a broad range of simulations without having to install any software.
  • BioSimulations is a platform for sharing and running modeling studies. BioSimulations provides a central place for investigators to exchange studies. BioSimulations uses the BioSimulators simulation tools, and builds on the functionality of runBioSimulations.

This package provides the code for the BioSimulations, runBioSimulations, and BioSimulations websites, as well as the code for the backend services for all three applications. The package is implemented in TypeScript using Angular, NestJS, MongoDB, and Mongoose.

Getting started ▢️

Users πŸ’»

Please use the hosted versions of BioSimulations, runBioSimulations, and BioSimulators at https://biosimulations.org, https://run.biosimulations.org, and https://biosimulators.org.

Tutorials, help and information can be found at https://docs.biosimulations.org

Developers πŸ–₯️

We welcome contributions to BioSimulations, runBioSimulations, and BioSimulations! Please see the developer guide for information about how to get started including how to install this package and how to run BioSimulations, runBioSimulations, and BioSimulators locally.

License βš–οΈ

This package is released under the MIT license. This package uses a number of open-source third-party packages. Their licenses are summarized in Dependencies.

Show your support 🀝

If you find this project interesting or useful, please give our repo a ⭐ and share with others that may benefit. If you use the code and tools in this repository as a part of an academic work, please cite us using the following bibtex entry.

@software{Shaikh_BioSimulations,
author = {Shaikh, Bilal and Marupilla, Gnaneswara and Wilson, Mike and Michael, Blinov L. and Moraru, Ion I. and Karr, Jonathan R.},
doi = {10.5281/zenodo.5057108},
license = {MIT},
title = {{BioSimulations}},
url = {https://github.com/biosimulations/biosimulations}
}

Contributors πŸ§‘β€πŸ€β€πŸ§‘

This package was developed by the Karr Lab at the Icahn School of Medicine at Mount Sinai in New York and the Center for Cell Analysis and Modeling at UConn Health as part of the Center for Reproducible Biomodeling Modeling.

Numerous individuals and groups have contributed to BioSimulations, including:


AMICI

πŸ”§

Akira Funahashi

πŸ”§

Alan Garny

πŸ€” πŸ”£

Aleksandar Jelenak

πŸ”§

Ali Sinan Saglam

πŸ”£

Andreas DrΓ€ger

πŸ”§

Ankita

πŸ”£

Ankur Sinha

πŸ”§

Anna Zhukova

πŸ”£

AnneGoelzer

πŸ”£

Arthur P Goldberg

πŸ€”

AurΓ©lien Naldi

πŸ”£ πŸ”§

Bilal Shaikh

πŸ’» πŸ“– πŸš‡

BioModels

πŸ”£

Brett Olivier

πŸ”§

Brian Drawert

πŸ”§

Brian simulator

πŸ”§

COPASI

πŸ”§

Center for Reproducible Biomedical Modeling

πŸ’΅ πŸ” πŸ“†

Ciaran Welsh

πŸ”§

Claudine Chaouiya

πŸ”£ πŸ”§

Dan Vasilescu

πŸ”§

Daniel Weindl

πŸ”§

David Brooks

πŸ”§

David Nickerson

πŸ€”

DeepaMahm

πŸ›

Diego

πŸ”§

Dilawar Singh

πŸ”§

Eduard Kerkhoven

πŸ”§

Eran Agmon

πŸ€”

Ermentrout

πŸ”§

Escher

πŸ”§

Fabian FrΓΆhlich

πŸ”§

Fengkai Zhang

πŸ”§

Frank Bergmann

πŸ€”

GINsim

πŸ”§

GMarupilla

πŸ’»

Helikar Lab Personal

πŸ”§

Herbert Sauro

πŸ€”

Hugh Sorby

πŸ”§

Idenfitiers.org

πŸ”£

Jan Hasenauer

πŸ”§

Jim Faeder

πŸ”§ πŸ”£

Jim Schaff

πŸ€”

Johann Rohwer

πŸ”§

John Detloff

πŸ’»

John Gennari

πŸ€” πŸ”§

John Readey

πŸ”§

John Sekar

πŸ€”

Jon Ison

πŸ”£

Jonathan Karr

πŸ’» πŸ“– 🎨

Joshua Cooper

πŸ”§

Jârn Starruß

πŸ”§

JΓΌrgen Pahle

πŸ”§

Karr whole-cell modeling lab

πŸ€”

Kyle Medley

πŸ”§ πŸ€”

LEMS

πŸ”§

LoΓ―c PaulevΓ©

πŸ”£ πŸ”§

Lucian Smith

πŸ€”

Lutz Brusch

πŸ”§

Manuel Bernal Llinares

πŸ”£

MarcDinh

πŸ”§

Matthias KΓΆnig

πŸ€”

MatΓΊΕ‘ KalaΕ‘

πŸ”£

Michael Blinov

πŸ€”

Michel Dumontier

πŸ”£

Mike Hucka

πŸ”§

Mike Wilson

πŸš‡

ModelDB

πŸ”£

Moritz E. Beber

πŸ”§

National Institute of Biomedical Imaging and Bioengineering

πŸ’΅

National Institutes of Health

πŸ’΅

National Science Foundation

πŸ’΅

NeuroML

πŸ”§

Neurosim lab

πŸ”§

OpenCOR

πŸ”§

PMR2 - the software behind the Auckland Physiome Repository

πŸ”£

Padraig Gleeson

πŸ”£ πŸ”§

Payton Thomas

πŸ”§

Pedro Mendes

πŸ”§

Pedro T. Monteiro

πŸ”§

PySCeS: The Python Simulator for Cellular Systems, provides a variety of tools for the analysis of cellular systems

πŸ”§

Raghul Kannan

πŸ”§

Rahuman Sheriff

πŸ”£

Rashika Rathi

πŸ”£

Ryan Spangler

πŸ€”

Ryann Jordan

πŸ”£

SBML Team

πŸ”§

SED-ML

πŸ”§

Sarah Keating

πŸ”§

Stefan Hoops

πŸ”§

Steve Andrews

πŸ”£ πŸ”§

StochSS

πŸ”§

SysBioINRAe

πŸ”§ πŸ”£

Systems Biology Lab, Vrije Universiteit Amsterdam

πŸ”§

Systems Biology Research Group

πŸ”£

The HDF Group

πŸ”§

The NEURON Simulator

πŸ”§

The home of CellML on Github

πŸ”§

Tommy Yu

πŸ”£

Tung Nguyen

πŸ”£

UW Sauro Lab

πŸ”§

Vega

πŸ”§

Veit SchwΓ€mmle

πŸ”£

Virtual Cell

πŸ”§ πŸ”£

Wolfram Liebermeister

πŸ”§

Yin Hoon Chew

πŸ€”

Zachary A. King

πŸ”§ πŸ”£

abulovic

πŸ”£

cjmyers

πŸ€”

dczielinski

πŸ”§

freiburgermsu

πŸ“–

jtyurkovich

πŸ”§

libsbmlsim

πŸ”§

moraru

πŸš‡ πŸ€”

obodeit

πŸ”§

openCOBRA

πŸ”§

ruleworld

πŸ”§ πŸ”£

yexilein

πŸ”§

z-haiman

πŸ”§

A key to the above emojis is available here.

Contributing to BioSimulations πŸ› οΈ

We enthusiastically welcome contributions to BioSimulations! Please see the guide to contributing and the developer's code of conduct.

Funding πŸ’°

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

Questions and comments ❓

We welcome any comments, questions, or discussion about the project. Please create a discussion or question in our discussion forum.

To privately contact the BioSimulations team, you can send us an email at [email protected].

biosimulations's People

Contributors

alexpatrie avatar allcontributors[bot] avatar bilalshaikh42 avatar biosimulations-daemon avatar code-factor avatar dependabot-preview[bot] avatar dependabot[bot] avatar freiburgermsu avatar github-actions[bot] avatar gmarupilla avatar jcschaff avatar jmdetloff avatar jonrkarr avatar mpw6 avatar p- avatar renovate-bot avatar renovate[bot] avatar semantic-release-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

biosimulations's Issues

Docker file fails at ng build step

Docker file is unable to build due to a vega-lite error at the build step. However, the node CI is able to build the site just fine.

I think this means there is some sort of versioning issue. Both node ci and docker ci use node 12.x and the latest angular/cli. Vega-lite should be the same in both through the package.json file.

The build also started failing without any changes to the codebase, further making me think this is some upstream bug due to versioning

Search page does not work

Currently search page displays a page not found error since it is not yet implemented.
A search service needs to be created to fetch available resources from the server

Initial feedback on app

I'm entering all of my comments into one issue. Feel free to separate this into multiple issues if that's easier for you. The comments aren't in any particular order.

Issues that I've already address are striked out

  • Submission: here's two ways I could see organizing the submission of models/simulation and browsing previously submitted models/simulations

    • Under models and under simulations, have pages to submit a model or simulation
    • Make submit a top-level entity in the menu. Nest pages for submitting models and simulations under this.
  • Models section

    • To help users find models, perhaps we should allow users to tag models with keywords (e.g., about the physical scale they represent, biological process involved, organism represented, etc.). For well-annotated models, this information could be extracted from the model file.
  • Simulations section

    • I think this could focus on metadata about simulations rather than the numerical results. I think a
      long list of data points will be hard for users to make sense of. I think visualizations are better for this. This could include metadata such as

      • Which model was simulated
      • Brief textual description of simulation provided by the user who requested it
      • Parameter values that were changed relative to model (can be parsed from SED-ML)
      • Length of simulation time
      • Which simulator ran the simulation and the version of the simulation.
        • DockerHub image id/tag
      • When the simulation was requested
      • When the simulation was run
      • Which user requested it
      • How long the took (wall time)
      • Public/private status
    • When users first navigate to the simulations section, I suggest showing a (paginated) list of all of the simulations they have access to. Then a search bar or faceted search could be provided to help users drill down to specific simulations.

    • Two additional things that would make sense to me are

      • (a) a table of the predicted species concentrations and reaction fluxes (ids and names) and buttons to open a visualization of the dynamics of their dynamics in the selected simulation and
      • (b) link to download the data.
    • Submenu elements: (a) browse completed simulations, (b) browse simulations in progress, (c) submit simulation

  • Visualizations section

    • Maybe this menu section should have two sections: (a) exploratory visualizations with standard statistical chars, and (b) "expert"-designed visualizations.
  • Top-right menu:

    • this should probably have the same sub-menus as the left menu
    • use same icons as in left menu (i.e. for account sub-menu)
  • User section

    • User profile: to polish the demo, format the name and picture with HTML
    • User notifications: for now, this icon could be hidden. Do you intend for this to enable users to control how they get notifications (e.g., email of completion of simulation requests)?
    • User settings page what settings are you thinking of?
    • It would be nice to capture some additional information about users (see #112 )
  • Left menu design

    • I think the menu should have 1 background color for the whole menu to distinguish it from the top bar and content section. The background should contrast the blue of the top bar and the grey of the content. The icon could be moved up to where "Menu" is currently located.
    • Rename "BioSimulations" to "About" or "About " so users don't confuse this with the simulations themselves.
    • Add right padding to the icons in the menu (e.g., "BioSimulations", "Account", etc.)
    • Move "BioSimulations" and "Account" to the bottom of the menu
  • Icons

    • Some of the icons Nicola has made would be good for models (model structure), simulations (WC-SimDB), and visualizations (WC-Viz)
    • Since its hard to find visually consistent icons that include icons for models and simulations, we can have Nicola design visually consistent icons for users, about, etc.
      whole-cell-modeling-icons

ToDo

  1. Mat-Progress spinner
  2. Mat-Progress-bar
  3. Store past simulations on first fetch
  4. Modify file API for extension filter

Footer extends past page on small screens

The footer will extend to the right of the viewport on a small screen, creating a scroll bar. The icons are displayed over a blank background.
This can probably be fixed by enabling wrapping in the flex container but will need to replace the current spacing hack with a better method

Site is not responsive

Top bar needs to remove buttons when viewport shrinks
Menu bar does not auto/open close
Button to open/close menu is laggy,

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.