Skip to content

shusson/sgc

Repository files navigation

Codacy Badge

SYDNEY GENOMICS COLLABORATIVE

A web application for exploring population scale genomic studies.

More info: https://sgc.garvan.org.au

Development

Built with latest angular.

We use angular-cli for development. It handles scaffolding, configuration, development hosting and more.

Prerequisites

  • Node 6.9.0 or higher
  • NPM 3 or higher.

Simple Setup

npm install -g @angular/cli
npm install
ng serve

Structure

The general structure is scaffolded by angular-cli.

The app src code structure:

  -- app
     -- components
        -- pages     // a component that can be directly navigated to by the router
        -- parts     // all the components that make up the pages
     -- mocks        // simple mocks for tests
     -- model        // classes that encapsulate the domain
     -- services     // injectable services that facilitate communication between components
     -- shared       // some shared code
     -- assets       // all the assets for the website (copied to dist on build)
     -- environments // the different environents for build targets

Testing

unit tests

To run tests

ng test

e2e tests

There are a minimum set of functional tests that check that critical features work

To run tests

ng e2e

External services

The application connects to a number of external services, all of which are defined in src/environments.

VSAL

A minimum variantstore backed by MySQL

A service for searching for gene information.

Used for genomic reference information.

Used for querying variants across different datasets and organizations.

Our identity service. Provides identity and authentication.

Tracks any unhandled errors

A variant store backed by an in-memory GPU Database MapD that supports cross dimensional charts.

Deployment

Travis handles our build, testing and deployment.

We have a CI pipeline set up that hosts on firebase. See .travis.yml and deploy for more info.

The final production build which is hosted at https://sgc.garvan.org.au is still manually deployed.

Acknowledgements

Special thanks to Miguel Pignatelli for his help with the tnt genome browser.

Releases

No releases published

Packages

No packages published