Viime

Viime: Visualization and Integration of Metabolomics Experiments - Published in JOSS (2020)

https://github.com/girder/viime

Science Score: 95.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 4 DOI reference(s) in README and JOSS metadata
  • Academic publication links
    Links to: joss.theoj.org
  • Committers with academic emails
    1 of 14 committers (7.1%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords from Contributors

turing-machine standardization pde mesh parallel interpretability evolutionary-algorithms ode pypi simulations

Scientific Fields

Artificial Intelligence and Machine Learning Computer Science - 83% confidence
Last synced: 4 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: girder
  • License: apache-2.0
  • Language: Vue
  • Default Branch: master
  • Homepage: https://viime.org
  • Size: 10.6 MB
Statistics
  • Stars: 8
  • Watchers: 7
  • Forks: 3
  • Open Issues: 108
  • Releases: 2
Created almost 7 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.md

DOI

VIIME

Getting started (Running natively)

This project includes a Pipfile to help set up a virtual environment for VIIME. To set up the virtual environment

sh pipenv install

and to enter it

sh pipenv shell

VIIME is configured from a .env file present in the current directory where it is executed. See the included .env_example for an example (or try .env_pwd, which saves DB and uploaded files in the checked out directory rather than your home directory). Once the environment is in place, you will need to initialize the tables by running

sh mkdir viime_sqlite viime-cli create-tables

This will create a data directory according to the SQLALCHEMY_DATABASE_URI and UPLOAD_FOLDER environment variables defined in the .env file.

Start the development server by running:

sh flask run

To start the frontend, run:

sh cd web/ yarn yarn serve

R Processing Functions using OpenCPU

The devops directory contains everything needed to spin up an OpenCPU instance with all dependencies necessary for the processing backend. To run it locally, build the docker container

sh cd devops docker build -t viime .

and start the instance

sh docker run -it --rm -p 8004:8004 viime

You may find that changes to the position or size of the window in which the Docker image runs will cause the service to terminate with SIGWINCH; this is actually intended behavior and can be avoided by running the image without allocating a pseudo-terminal and keeping stdin open:

sh docker run --rm --name viime -p 8004:8004 viime

To stop this container, use a command like docker stop viime from another terminal.

This installation includes a custom R package called viime, which contains all functions that are exposed to the API server for CSV file processing. Functions contained in this package should accept a path to a CSV file as an argument and return a data frame. The (work-in-progress) backend code at viime/opencpu.py handles the communication between pandas and R data frames. To add additional methods exposed to the API server, add the function to the viime package and rebuild the docker image.

Database migration

This application uses flask-migrate to manage database migrations. To create a migration after changing models, run:

sh flask db migrate

To migrate to the latest database schema, run:

sh flask db upgrade

Getting started (docker-compose)

You can run the backend components for this project with Docker Compose:

sh cd devops/docker docker-compose up

This command will spin up two Docker containers named docker_backend_1 and docker_opencpu_1.

Note, the web client will still need to be started using yarn serve.

Once the client is running, you can use it to upload the CSV files found in the sample data directory of this repository.

Owner

  • Name: Girder
  • Login: girder
  • Kind: organization
  • Email: kitware@kitware.com

This organization contains repositories related to the Girder project, a data management toolkit developed and maintained by Kitware.

JOSS Publication

Viime: Visualization and Integration of Metabolomics Experiments
Published
October 18, 2020
Volume 5, Issue 54, Page 2410
Authors
Roni Choudhury
Kitware Inc.
Jon Beezley
Kitware Inc.
Brandon Davis
Kitware Inc.
Jared Tomeck
Kitware Inc.
Samuel Gratzl
Kitware Inc.
Lilian Golzarri-Arroyo
Department of Epidemiology and Biostatistics, Indiana University School of Public Health
Jun Wan
Department of Medical and Molecular Genetics, Indiana University School of Medicine, Center for Computational Biology and Bioinformatics, Indiana University School of Medicine, Department of BioHealth Informatics, Indiana University School of Informatics and Computing
Daniel Raftery
Department of Anesthesiology and Pain Medicine, University of Washington
Jeff Baumes
Kitware Inc.
Thomas M. O'Connell
Department of Otolaryngology--Head and Neck Surgery, Indiana University School of Medicine
Editor
Lorena Pantano ORCID
Tags
metabolomics visualization web application

GitHub Events

Total
Last Year

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 1,159
  • Total Committers: 14
  • Avg Commits per committer: 82.786
  • Development Distribution Score (DDS): 0.629
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Samuel Gratzl s****m@s****m 430
Roni Choudhury r****y@k****m 245
Jonathan Beezley j****y@k****m 156
Daniel Chiquito d****o@k****m 121
Brandon Davis b****s@k****m 86
Mike VanDenburgh m****h@k****m 32
Jeffrey Baumes j****s@k****m 30
Doruk Ozturk d****k@k****m 26
JellyWang-3 j****g@k****m 13
Jared Tomeck j****k@k****m 10
Brian Helba b****a@k****m 5
Mary Salvi m****i@k****m 3
Daniel S. Katz d****z@i****g 1
dependabot[bot] 4****] 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 14
  • Total pull requests: 86
  • Average time to close issues: 14 days
  • Average time to close pull requests: about 2 months
  • Total issue authors: 5
  • Total pull request authors: 9
  • Average comments per issue: 1.07
  • Average comments per pull request: 0.65
  • Merged pull requests: 40
  • Bot issues: 0
  • Bot pull requests: 43
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • dchiquito (4)
  • jeffbaumes (3)
  • waxlamp (3)
  • biswapriyamisra (2)
  • subdavis (2)
Pull Request Authors
  • dependabot[bot] (43)
  • dchiquito (19)
  • jeffbaumes (8)
  • waxlamp (5)
  • brianhelba (4)
  • jbeezley (4)
  • marySalvi (3)
  • subdavis (2)
  • danielskatz (1)
Top Labels
Issue Labels
type: bug (1)
Pull Request Labels
dependencies (43) javascript (26) python (10)

Dependencies

devops/viime/DESCRIPTION cran
  • R >= 3.5.2 depends
  • car * imports
  • emmeans * imports
  • randomForest * imports
e2e-test/package.json npm
  • @babel/core ^7.9.6 development
  • @babel/preset-env ^7.9.6 development
  • babel-eslint ^10.0.1 development
  • eslint 6.8.0 development
  • eslint-config-airbnb-base 14.1.0 development
  • eslint-plugin-import ^2.20.1 development
  • eslint-plugin-jest ^23.9.0 development
  • jest ^26.1.0 development
  • jest-puppeteer ^4.4.0 development
  • puppeteer ^5.0.0 development
  • @types/puppeteer ^3.0.1
  • core-js ^3.6.5
  • expect-puppeteer ^4.4.0
  • jest-puppeteer-vuetify ^0.1.3
web/package.json npm
  • @types/d3 ^5.7.2 development
  • @types/d3-scale ^2.2.0 development
  • @types/d3-selection ^1.4.1 development
  • @types/jest ^24.0.19 development
  • @types/lodash ^4.14.157 development
  • @typescript-eslint/eslint-plugin ^2.33.0 development
  • @typescript-eslint/parser ^2.33.0 development
  • @vue/cli-plugin-babel ~4.4.4 development
  • @vue/cli-plugin-eslint ~4.4.4 development
  • @vue/cli-plugin-typescript ~4.4.0 development
  • @vue/cli-plugin-unit-jest ~4.4.4 development
  • @vue/cli-service ~4.4.4 development
  • @vue/eslint-config-airbnb ^5.0.2 development
  • @vue/eslint-config-typescript ^5.0.2 development
  • @vue/test-utils ^1.0.0-beta.29 development
  • babel-core ~7.0.0-bridge.0 development
  • babel-eslint ^10.1.0 development
  • babel-jest ^24.7.0 development
  • eslint ^6.7.2 development
  • eslint-plugin-import ^2.20.2 development
  • eslint-plugin-vue ^6.2.2 development
  • git-revision-webpack-plugin ^3.0.3 development
  • pug ^2.0.3 development
  • pug-lint-vue ^0.1.3 development
  • pug-plain-loader ^1.0.0 development
  • sass ^1.51.0 development
  • sass-loader ^10 development
  • stylus ^0.54.5 development
  • stylus-loader ^3.0.2 development
  • typescript ~3.9.3 development
  • vue-template-compiler ^2.5.21 development
  • webpack ^4.29.6 development
  • @girder/components v3.0.0-alpha.3
  • @mdi/font ^3.5.95
  • @openfonts/barlow-condensed_all ^0.1.1
  • @sentry/browser ^5.0.7
  • @sentry/integrations ^5.0.7
  • @vue/composition-api ^0.6.4
  • axios ^0.18.0
  • c3 ^0.7.8
  • core-js ^3.6.5
  • d3-array ^2.3.1
  • d3-axis ^1.0.12
  • d3-boxplot ^0.7.5
  • d3-color ^1.4.0
  • d3-drag ^1.2.4
  • d3-dsv ^1.2.0
  • d3-force ^2.0.1
  • d3-format ^1.3.2
  • d3-hierarchy ^1.1.8
  • d3-scale ^2.2.2
  • d3-scale-chromatic ^1.3.3
  • d3-selection ^1.4.0
  • d3-shape ^1.3.5
  • d3-transition ^1.2.0
  • d3-zoom ^1.8.3
  • js-combinatorics ^0.5.4
  • lodash ^4.17.13
  • material-design-icons ^3.0.1
  • material-design-icons-iconfont ^4.0.5
  • papaparse ^4.6.3
  • vue ^2.5.22
  • vue-axios ^2.1.4
  • vue-gtag ^1.1.2
  • vue-resize-directive ^1.2.0
  • vue-router ^3.0.2
  • vue-virtual-scroller ^1.0.0-rc.2
  • vuetify ^1.5.6
  • vuex ^3.1.0
web/yarn.lock npm
  • 1615 dependencies
Pipfile pypi
  • viime *
Pipfile.lock pypi
  • alembic ==1.4.2
  • certifi ==2020.6.20
  • chardet ==3.0.4
  • click ==7.1.2
  • cycler ==0.10.0
  • decorator ==4.4.2
  • dogpile.cache ==0.9.2
  • flask ==1.1.2
  • flask-cors ==3.0.8
  • flask-migrate ==2.5.3
  • flask-sqlalchemy ==2.4.3
  • idna ==2.10
  • itsdangerous ==2.0.0a1
  • jinja2 ==3.0.0a1
  • joblib ==0.16.0
  • kiwisolver ==1.2.0
  • mako ==1.1.3
  • markupsafe ==2.0.0a1
  • marshmallow ==3.6.1
  • matplotlib ==3.3.0rc1
  • numpy ==1.19.0
  • pandas ==1.0.5
  • pillow ==7.2.0
  • pyparsing ==3.0.0a2
  • python-dateutil ==2.8.1
  • python-dotenv ==0.13.0
  • python-editor ==1.0.4
  • pytz ==2020.1
  • requests ==2.24.0
  • scikit-learn ==0.23.1
  • scipy ==1.5.0
  • six ==1.15.0
  • sklearn ==0.0
  • sqlalchemy ==1.3.18
  • sqlalchemy-utils ==0.36.7
  • threadpoolctl ==2.1.0
  • urllib3 ==1.25.9
  • viime *
  • webargs ==5.5.3
  • werkzeug ==1.0.1
  • xlrd ==1.2.0
setup.py pypi
  • Werkzeug >=0.15
  • alembic *
  • dogpile.cache *
  • flask *
  • flask-cors *
  • flask-migrate *
  • flask-sqlalchemy *
  • marshmallow >=3.0.0
  • matplotlib *
  • openpyxl *
  • pandas >=0.25.0
  • python-dotenv *
  • requests *
  • sklearn *
  • sqlalchemy-utils *
  • webargs *
devops/Dockerfile docker
  • viime/opencpu-base latest build