Canada boasts world-leading expertise in genomics, including developing data-sharing policies and tools. However, we lack a national strategy to aggregate, store and share Canadian data equitably, securely and sustainably. At the same time, the size and complexity of human genomics datasets and their associated clinical data are growing rapidly.
The Pan-Canadian Genome Library (PCGL) is a large collaborative effort to unify Canada's genome sequencing efforts. The PCGL is an open-source and open-science initiative, building upon Canadian-made foundational components and datasets, and utilizing international standards such as GA4GH to unify Canada’s human genome sequencing efforts.
The repository is organized with the following directory structure:
.
├── apps/
├── data-dictionary-ui
└── submission
| Component | Package Name | Path | Description |
|---|---|---|---|
| Data Dictionary UI | @clinical-submission/ui | apps/ui | React SPA website for Data Dictionary UI. |
| Submission API | @clinical-submission/api | apps/api | ExpressJS backend service for submitting clinical data |
- apps/ - Standalone processes meant to be run.
- PNPM Project manager
- Node.js Runtime environment (v20 or higher)
- VS Code As recommended code editor. Plugins recommended: ESLint, Prettier - Code formatter, Mocha Test Explorer, Monorepo Workspace
- This project uses Node ^20.9, Typescript ^5.5, and PNPM ^9.10, and was created using Vite 5.4.1.
Follow these steps to install and run all dependencies, then run all applications locally. The applications will run in development mode, monitoring the code base to rebuild and restart the applications when the code is updated.
- Install PNPM:
npm i -g pnpm - Install dependencies:
pnpm i - Go into
apps/*folders and create a.envderived from the.env.schemafile - Run dependencies:
docker compose up -d - Start all apps in development mode:
pnpm dev:all- The Submission server will run at
http://localhost:3030. Visithttp://localhost:3030/api-docsfor interactive swagger.- NOTE: Running the application should run the migrations at start, if you wish to apply migrations manually, please refer to
READMEin submission for more information.
- NOTE: Running the application should run the migrations at start, if you wish to apply migrations manually, please refer to
- The Data Dictionary UI will be running at
http://localhost:5173 - Lectern service will run at
http://localhost:3000. Visithttp://localhost:3000/api-docs
- The Submission server will run at
- Filing an issue
