Skip to content

Commit 7951d04

Browse files
committed
Add Zenodo DOI tracking latest release
1 parent 345c5a2 commit 7951d04

File tree

1 file changed

+24
-13
lines changed

1 file changed

+24
-13
lines changed

README.md

Lines changed: 24 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Laxy
2+
23
![Docker test](https://github.com/MonashBioinformaticsPlatform/laxy/workflows/Docker%20test/badge.svg?branch=master)
4+
[![DOI](https://zenodo.org/badge/104432675.svg)](https://zenodo.org/badge/latestdoi/104432675)
35

46
_Laxy_ is a web application designed to simplify launching routine genomic pipeline analyses.
57

@@ -25,6 +27,7 @@ docker-compose --compatibility -f docker-compose.yml -f docker-compose.local-dev
2527
The Laxy frontend is a Vue Single-Page Application that runs in the browser and communicates with a Laxy backend server.
2628

2729
### Development
30+
2831
```bash
2932
cp -n .env.example .env
3033
cd laxy_frontend
@@ -47,14 +50,14 @@ These variables are used by the Webpack (`dotenv-webpack`) build to substitute r
4750

4851
## Backend
4952

50-
The Laxy backend is a RESTful web service for managing pipeline jobs across various compute resources.
53+
The Laxy backend is a RESTful web service for managing pipeline jobs across various compute resources.
5154
It is based on Django and Celery.
5255

5356
### Setup
5457

5558
Dependencies:
5659

57-
* Python 3.6+
60+
- Python 3.6+
5861

5962
```bash
6063
# Create a Python virtual environment, install package dependencies
@@ -66,11 +69,13 @@ pip install -U -r requirements-dev.txt
6669
```
6770

6871
Run tests:
72+
6973
```bash
7074
./manage.py test --noinput
7175
```
7276

7377
Create a user and database on Postgres (run `psql`):
78+
7479
```postgresql
7580
CREATE ROLE laxy WITH LOGIN PASSWORD 'blablafooword';
7681
CREATE DATABASE laxy;
@@ -80,16 +85,18 @@ GRANT ALL PRIVILEGES ON DATABASE laxy TO laxy;
8085

8186
Configuration is taken from a `.env` file.
8287
Environment variables (eg `LAXY_*`) will override any variables defined in `.env`.
88+
8389
```bash
8490
# Copy the example settings environment and edit as required,
85-
# including the database name and password above.
91+
# including the database name and password above.
8692
cp -n .env.example .env
8793
vi .env
8894
```
8995

9096
(To manually source the `.env` file into your login shell for some purpose, do `export $(grep -v '^#' .env | xargs)`).
9197

9298
Initialize the database, create an admin user:
99+
93100
```bash
94101
./manage.py migrate --no-input --run-syncdb
95102
# ./manage.py migrate contenttypes
@@ -109,25 +116,29 @@ Initialize the database, create an admin user:
109116
```
110117

111118
### Run
119+
112120
```bash
113121
source venv/bin/activate
114122
DEBUG=yes python3.6 manage.py runserver 0.0.0.0:8000
115123
```
116124

117125
#### Run Celery
126+
118127
```bash
119128
celery -A laxy worker -B -E -Ofair -l info \
120129
--statedb=laxy_celery_worker.state
121130
```
122131

123132
#### Run Celery Flower to monitor work queue
133+
124134
```bash
125135
FLOWER_BASIC_AUTH=user:pass celery -A laxy flower --port=5555
126136
```
127137

128-
OpenAPI / Swagger API (via drf_openapi):
129-
* Docs: http://localhost:8000/swagger/v1/
130-
* JSON: http://localhost:8000/swagger/v1/?format=openapi
138+
OpenAPI / Swagger API (via drf_openapi):
139+
140+
- Docs: http://localhost:8000/swagger/v1/
141+
- JSON: http://localhost:8000/swagger/v1/?format=openapi
131142

132143
DRF CoreAPI docs: http://localhost:8000/coreapi/
133144

@@ -142,20 +153,20 @@ See notes on [running under Docker Compose](docs/docker.md)
142153
Reference genomes currently follow the naming and path layout used by iGenomes eg `Homo_sapiens/Ensembl/GRCh38`.
143154
This is currently both the internal genome ID used by Laxy and the relative path where the downloaded genome is stored.
144155

145-
* Add the genome to the frontend in `laxy_frontend/src/config/genomics/genomes.ts`
146-
* Add the genome to the backend in `laxy_backend/data/genomics/genomes.py`
147-
* (Optional but recommended): Add on-demand downloading of the genome to the appropriate `run_job.sh` script
148-
(eg via the `download_ref_urls` bash function). Otherwise pre-install it at the correct path.
149-
156+
- Add the genome to the frontend in `laxy_frontend/src/config/genomics/genomes.ts`
157+
- Add the genome to the backend in `laxy_backend/data/genomics/genomes.py`
158+
- (Optional but recommended): Add on-demand downloading of the genome to the appropriate `run_job.sh` script
159+
(eg via the `download_ref_urls` bash function). Otherwise pre-install it at the correct path.
160+
150161
This is documented here in the hopes it can be streamlined in the future (eg via simple genome 'service').
151162

152163
#### Adding a new pipeline version
153164

154-
Currently only possible for `rnasik`, and ugly around the edges.
165+
Currently only possible for `rnasik`, and ugly around the edges.
155166
This process will be refined as pipeline are made more modular/pluggable.
156167

157168
Create a directory `laxy_backend/templates/job_scripts/rnasik/{version}/input`, where `{version}` is the new pipeline version.
158-
Create a `conda_environment.yml` file in this directory. Follow the examples for other versions, changing the
169+
Create a `conda_environment.yml` file in this directory. Follow the examples for other versions, changing the
159170
appropriate version numbers for packages and the environment name.
160171

161172
Add the version number to the `pipeline_versions` list in `laxy_frontend/src/components/PipelineParams.vue`.

0 commit comments

Comments
 (0)