Design Philosophy
Developers should conform to our following design goals:
- The database and user interface can be centralised for a single lab, so all lab members can use it instantly in their browser without requiring different installs.
- The user interface is intuitive to use and user-friendly. Researchers can immediately start uploading, annotating, processing and analysing their experimental data.
- The schema is designed to be as simple as possible while still capturing enough structure for advanced analysis.
- Standard data processing and analyses are provided out of the box in the user interface.
- For more tailored analyses, the python package is easily extendible.
- Antelop supports a range of different hardware infrastructures, including:
- The choice between self-hosting the database or using web services such as AWS.
- Support for a number of computational environments, including the option to run heavy computations on a HPC, a dedicated computing server, or locally.
- The choice of a persistent web interface on a dedicated server, or running the GUI locally like a Jupyter notebook.
- The setup is made as simple as possible, namely:
- The MySQL database and S3 store can be installed and configured quickly via docker containers.
- The cluster pipelines run on Nextflow with all dependencies containerised, and we provide a simple install script to configure and set this up.
- The user interface and python package can be installed locally via pip, and are configured via a simple command line tool or a toml file.
- The benefits of a SQL database all apply, including:
- Centralised data storage for the lab.
- Simple management of user permissions.
- Easy sharing of data with collaborators.
- The ability to perform automated/manual backups of the entire database.
- Very fast and flexible database queries.