Giter Club home page Giter Club logo

data_curator's Introduction

Data Curator App

Introduction

The Data Curator App is an R Shiny app that serves as the frontend to the schematic Python package. It allows data contributors to easily annotate, validate and submit their metadata.


Get Started and Installation

Follow the steps below to make sure the Data Curator App is fully setup to work with the schematic:

Data Curator App Setup

  1. Clone this repo (front-end) with one single branch (i.e., shiny-server-main):

    git clone --single-branch --branch shiny-server-main https://github.com/Sage-Bionetworks/data_curator.git
    
  2. Create and modify the configuration file:

    cp example_config.yaml config.yaml
    chmod 400 config.yaml
    
  3. Create and activate the conda environment:

    export CONDA_NAME=$(tail -n1 config.yaml | cut -f2 -d':' | tr -d \''"')
    conda env create -f environment.yml -n $CONDA_NAME
    conda activate $CONDA_NAME
    
  4. Install required R pacakges dependencies:

    R -e "renv::restore()"
    

Schematic Setup

  1. Clone the schematic (backend) as a folder schematic inside the data_curator folder:

    git clone --single-branch --branch develop https://github.com/Sage-Bionetworks/schematic.git
    
  2. Install the latest release of the schematic via pip:

    python -m pip install schematicpy
    

    For development and test with the latest update from schematic, install the schematic via poetry:

    cd schematic
    poetry build
    pip install dist/schematicpy-*-py3-none-any.whl
    
  3. Set up the schematic configuration. To do so, follow the instructions on the schematic repository README

Data Model Configuration

Use the app configuration file www/config.json to adapt this app to your DCC.

  • manifest schemas: defines the list of schemas displayed under the "Choose a Metadata Template Type:" dropdown in the application.
    • display_name : The display name for the dropdown. (e.g. scRNA-seq Level 1)
    • schema_name: The name of the manifest in the JSON-LD schema (e.g. ScRNA-seqLevel1)
    • type: The type of manifest. As currently configured in app.R, will only display manifests of type assay.
  • main_fileview : The Synapse ID of a fileview that is scoped to all files, folders, & projects in your community. (e.g. syn20446927)
  • community : the abbreviated name of the community or project. (e.g. HTAN)

Authentication

This utilizes a Synapse Authentication (OAuth) client (code motivated by ShinyOAuthExample and app.R. Each application is required to have its own OAuth client as these clients cannot be shared between one another. View instructions here to learn how to request a client. Once you obtain the CLIENT_ID and CLIENT_SECRET make sure to add it to the configuration yaml file.


Contributors

Main contributors and developers:

data_curator's People

Contributors

xdoan avatar rrchai avatar sujaypatil96 avatar brucehoff avatar allaway avatar milen-sage avatar dependabot[bot] avatar vpchung avatar ychae avatar

Watchers

James Cloos avatar

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.