Coder Social home page Coder Social logo

clingen-data-model / website-clinicalgenome-search Goto Github PK

View Code? Open in Web Editor NEW
4.0 10.0 3.0 289.63 MB

SEARCH V4 :: The aim of the project is to integrate ClinGen's internal data services and public external data services around a common user experience to ensure clinically relevant knowledge about genes and variants is available for use in precision medicine and research.

PHP 50.89% Vue 0.01% Hack 4.45% Blade 44.64%
php laravel composer genes variants

website-clinicalgenome-search's Introduction

ClinGen Website Search (v4.X)(User Experience - Knowledge-base)

The aim of the project is to integrate ClinGen's internal data services and public external data services around a common user experience to ensure clinically relevant knowledge about genes and variants is available for use in precision medicine and research.

Framework - Laravel

Laravel is a free, open-source PHP web framework intended for the development of web applications following the model–view–controller architectural pattern and based on Symfony. https://laravel.com/

Server Requirements

The Laravel framework has a few system requirements:

  • PHP >= 7.1.8
  • BCMath PHP Extension
  • Ctype PHP Extension
  • JSON PHP Extension
  • Mbstring PHP Extension
  • OpenSSL PHP Extension
  • PDO PHP Extension
  • Tokenizer PHP Extension
  • XML PHP Extension

Laravel Version 5.8

Currently this project is using Laravel 5.8. Keep that in mind if you are reading documentation and using new packages.

Installation and Configuration

Laravel provides a few options when installing. You can start right from this repo or you can install fresh. Read more at https://laravel.com/docs/6.0#installing-laravel When you get started make sure don't forget to run composer install This is what goes and grabs all of the dependencies you need. Also, after you have things running make sure you compile the assets.

If you don't start from the repo and simply want to start clean then remember this website is running Laravel 5.8. If you want to grab 5.8 then consider the following command composer create-project laravel/laravel="5.8.*" PROJECT_NAME_HERE

Composer - A Dependency Manager for PHP

Laravel utilizes Composer to manage its dependencies. So, before using Laravel, make sure you have Composer installed on your machine.

Public Directory

After installing, you should configure your web server's document / web root to be the public directory. The index.php in this directory serves as the front controller for all HTTP requests entering your application.

Configuration Files

All of the configuration files for the framework are stored in the config directory.

Environment Configuration .ENV

Laravel utilizes the DotEnv PHP library by Vance Lucas. The root directory the application contains a .env.example file so you can see where you see the defaults. Make sure you create your own .env and don't commit it... right now it's excluded and lets keep it that way.

Directory Permissions

After installing, you may need to configure some permissions. Directories within the storage and the bootstrap/cache directories should be writable by your web server or Laravel will not run.

Application Key

The next thing you should do after installing Laravel is set your application key to a random string. If you installed Laravel via Composer or the Laravel installer, this key has already been set for you by the php artisan key:generate command.

Additional Configuration

Yu may wish to review the config/app.php file and its documentation. It contains several options such as timezone and locale that you may wish to change according to your application.

Helpful Reading

Architecture Concepts

Common Composer Commands

Just a few that you may want know if you are new... lots of others so you may want to go do some reading.

install

First creates a composer.lock if not exists composer.lock file. composer lock file contains composer.json all package with version. then install those packages. composer install

update

updates all outdated commands composer update

update specific package

composer update vendor-name/package-name

Load External

Run the following in order to make sure you have everything on a new build... if this isn't a new build and no tables/columns were changed in the DB then feel free to skip the migrate. php artisan migrate

  • php artisan update:Genenames
  • php artisan decipher:query
  • php artisan exac:query
  • php artisan update:map
  • php artisan update:acmg59
  • php artisan update:omim
  • php artisan update:ratings
  • php artisan update:region
  • php artisan update:locations
  • php artisan update:activity

website-clinicalgenome-search's People

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

website-clinicalgenome-search's Issues

Typeahead rendering in www

NOTE - This issue is for tracking and will be associated with another issue to the repo that powers the www website when ready.

Revise the code that powers the www typeahead to account for the MVP features outlined in #1

REMINDER - Exception Alerts & Logging

Brainstorm will Phil the key areas of the site where it would be helpful know in realtime (Slack, ect.) that a exception was triggered. This could be when we don't receive data back from Neo or GeneGraph or it could be an exception on a page.

Ideas

  • Neo4J/Bolt return null
  • Neo4J/Bolt return broken/unexpected
  • GraphQL return null
  • GraphQL return broken/unexpected
  • External API return broken/unexpected
  • Page render exception

Browse - Gene Validity Curation (Show - Detail view) (Gen4.0)

This core code needs to be able to return the query for the report and then based on the query call the appropriate view/include to render the report.

Based on the current date the JSON sent back includes the report view data in JSON and the view renders that. No additional work needs to be one at this level to organize the curation data for each SOP

Typeahead API to be used by search and www

Provide the JSON API that can be used by the internals for search and also made discoverable for use my the www.clinicalgenome.org site

MVP

  • JSON
  • Common naming
  • Genes Query
  • Disease Query
  • Drug Query

Reach

  • Improve query to prioritize front and middle name matching
  • Include if query was curated

Typeahead rendering in search

Implement the code that uses the API or other appropriate technology to display the typeahead in the search display.

Review the PharmGKB API

Review the PharmGKB API and data to see if/how this could be included and/or explore how the data needs to be included into the streaming service

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.