The Collaborative OPen Omics (COPO) project is an open-source web-based platform that enables scientists to describe their research objects (e.g. raw or processed data, assemblies, reads, samples and images) using community-sanctioned metadata sets and vocabularies.
As a metadata broker, COPO encourages scientists to submit metadata that complies with the Findable, Accessible, Interoperable and Reusable (FAIR) principles. These research objects are then shared with the wider scientific community via public repositories. The COPO project is based at the Earlham Institute in Norwich, England, United Kingdom.
This repository builds on the work of the COPO GitHub repository (now archived), which laid the foundation for the current implementation.
| Category | Tools / Libraries | Purpose / Usage |
|---|---|---|
| Backend Development | Python, Django | Core application logic and web framework |
| Scripting & Automation | Python, Bash | Automation, setup scripts, and server-side utilities |
| Web framework | Django (5.x), Django REST Framework | Back-end web development, RESTful API design |
| Task queue & scheduling | Celery, Redis, aioredis | Background task processing, caching, async queues |
| Database | PostgreSQL, MongoDB | Persistent data storage and querying |
| Deployment & serving | Docker, Docker Swarm, Gunicorn, Nginx | Production-ready app serving and containerisation |
| Frontend technologies | JavaScript (server-side), jQuery | Dynamic client-side behaviour and lightweight interactivity |
| Testing & QA | pytest, Selenium, CircleCI, Django Test Framework | Automated testing and browser interaction validation |
| DevOps / CI/CD | GitHub Actions (CI/CD), Git | Version control and automated deployment pipelines |
| Data handling | Pandas, NumPy, openpyxl / XlsxWriter | Data manipulation and scientific computing |
| File storage | Django Storages, S3, MinIO, ECS (deprecated) | Cloud-based file storage and management |
| Document generation | Sphinx, ReadTheDocs | Auto-generated user documentation |
| HTML parsing / Scraping | BeautifulSoup, bs4 | HTML content parsing, web scraping |
| User authentication | django-allauth | OAuth, OpenID, and account authentication |
| Real-time features | Channels, Daphne | WebSocket support and async communication |
| Styling & forms | django-crispy-forms, crispy-bootstrap5 | Form rendering and UI styling |
- COPO-production – This repository (included for reference)
- COPO-schemas
- COPO-documentation
- COPO-sample-audit
- SingleCellSchemas