https://github.com/mskcc/igo-qc
https://github.com/mskcc/igo-qc
Last synced: 5 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/mskcc/igo-qc
- Owner: mskcc
- Created: 2015-11-02T19:32:28.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2023-04-16T20:27:07.000Z (about 3 years ago)
- Last Synced: 2025-07-08T21:48:43.360Z (12 months ago)
- Language: HTML
- Size: 16.7 MB
- Stars: 3
- Watchers: 32
- Forks: 0
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# igo-qc
## Contents
* [Description](#description)
* [Development Steps](#development-notes)
* [Deployment Steps](#deployment-steps)
## Description
Site displaying run statistics of sequencing projects (E.g. GATK Picard, Cell Ranger, etc.).
### Features
* Pulls data from LIMS and ngs-stats to visualize in grid and graphs
* Allows users to reset qc-status of runs
## Development Notes
After setting up `Mongo`, `Backend`, & `Frontend` (in that order), the igo-qc app should be available at `localhost:3000`
### Mongo
```
WRITE_DATA_HERE=...
mongod --dbpath=${WRITE_DATA_HERE}
```
### Backend
1. Update `lims_user_config_prod` with what is available on dev/prod. We need the values for `username`, `password`, & `secret_key`. Note - This is copied into `lims_user_config` on `make run-prod`. On the host, see `/srv/www/new-igo-qc/app/lims_user_config`.
```
scp igo.mskcc.org:/srv/www/new-igo-qc/app/lims_user_config lims_user_config_prod
```
2. Install virtual environment
*Python 2*
```
# pip install virtualenv # If not already installed
$ virtualenv venv
```
*Python 3*
```
# pip3 install virtualenv # If not already installed
python3 -m venv venv
```
3. Install Dependencies
```
$ source venv/bin/activate
(venv) $ pip install -r requirements.txt
(venv) $ make run
```
Note - `make run-prod` is a `Makefile` command. If there are issues w/ this step, please review the `run-prod` step of the [Makefile](https://github.com/mskcc/igo-qc/blob/master/Makefile)
### Frontend
```
cd static/seq-qc/
npm install && npm run start
```
### Troubleshooting
#### Mongo
* Is mongo running? i.e. The `mongo` command allows you to connect to your mongo instance. If mongo is running, you should see something like below -
```
$ ps -ef | grep mongo
1774903000 39995 39879 0 12:40PM ttys001 0:00.75 /Users/streidd/data/mongodb-macos-x86_64-4.2.1/bin/mongod --dbpath=/Users/streidd/data/db
```
* Do you have write access to the directory specified in `--dbpath=`?
```
$ ls -ltr /Users/streidd/data | grep db
drwxr-xr-x 73 streidd MSKCC\Domain Users 2336 Oct 25 12:40 db
```
## Deployment Steps
```
HOST=igo.mskcc.org # Production
# HOST=dlviigoweb1 # Development
make HOST=${HOST} deploy
```
Notes:
* This *DELETES* the existing application on the `HOST` specified. It then copies the packaged application created locally to the new location.
* This creates and copies a `dist` directory to the `deployments` directory in your home on the `HOST` specified. Make sure your `~/deployments` exists on that `HOST`!
* `make deploy` is a `Makefile` command. If there are issues w/ this step, please review the `deploy` step of the [Makefile](https://github.com/mskcc/igo-qc/blob/master/Makefile)
* Expect to enter your password four times - once to `scp` the packaged application, once to remotely send the install command, and twice to run `dzdo` remotely (`dzdo` allows for root access on our VM's and is needed so you can re-deploy if another user was the last to deploy)