- Overview
- Documentation
- System Requirements
- Installation Guide
- Quick Start
- Attribution
- For Developers
MITE (Minimum Information about a Tailoring Enzyme) is a community-driven database for the characterization of tailoring enzymes. These enzymes play crucial roles in the biosynthesis of secondary or specialized metabolites, naturally occurring molecules with strong biological activities, such as antibiotic properties.
This repository manages the code for the MITE Webpage.
For more information, visit the MITE Data Standard Organization page or read our publication.
This repository contains code for the MITE Webpage, allowing to visualize data and receive submissions for new and existing MITE entries.
Note that the web presence does not store MITE entries per se. The MITE ground truth dataset lives in mite_data.
Nota bene: this application is only tested on Linux. For an online version, see here.
Local installation was tested on:
- Ubuntu Linux 20.04 and 22.04 (command line)
Dependencies including exact versions are specified in the pyproject.toml file.
- Download or clone this repository
- Add the
.envfile as indicated below (with at least the mandatory params) - Build the docker image
docker-compose -f docker-compose.yml build --no-cache(potentially withsudo) - Start the docker
docker-compose -f docker-compose.yml up -d(potentially withsudo) - Open the application in any browser with the URL http://127.0.0.1:1340/
- To stop the application, run
docker-compose stop(potentially withsudo) - To take down the database, run
docker-compose down -v --rmi all
mite_schema is an open source tool licensed under the MIT license (see LICENSE).
See CITATION.cff or MITE online for information on citing MITE.
This work was supported by the Netherlands Organization for Scientific Research (NWO) KIC grant KICH1.LWV04.21.013.
Nota bene: since version 1.5.0, development is only possible using the docker-container
Nota bene: regularly update uv.lock using uv lock --upgrade
- Download or clone this repository
- Add the
.envfile as indicated below (with at least the mandatory params) - Populate the app by changing into
mite_weband runninguv run python mite_web/prepare_mite_data.py(if applicable, remove.venv,dataandstatic/imgdirs) - Build the docker image using
docker-compose build. This will mount themite_webdirectory for more convenient file editing (no need to rebuild every time). - Start the docker image with
docker-compose up -d. The image will be available at http://127.0.0.1:1340/. - Changes within the
mite_webfolder will be mirrored inside the docker image but require stopping and restarting the docker container withdocker-compose stop && docker-compose up(gunicorndoes not support reloading on change with the current build) - Changes in the PostgreSQL DB will only be applied if old tables are dropped with
docker-compose down -v
git clone https://github.com/mite-standard/mite_web
cd mite_web
# .env
# mandatory
POSTGRES_PASSWORD=<yoursecurepassword>
POSTGRES_DB=mite_database
# optional
GITHUB_TOKEN=<personal-access-token-classic(scopes: 'admin:public_key', 'gist', 'read:org', 'repo')>
GITHUB_NAME=<gh-acc name>
GITHUB_MAIL=<gh-acc mail>
SECRET_KEY=<your_secret_key>
ONLINE=True
docker-compose -f docker-compose.yml build --no-cache
This builds both mite_web and nginx images. The mite_web directory is not mounted in production; all code is baked into the image.
docker-compose -f docker-compose.yml up -d
docker-compose down -v --rmi all
Nota bene: make sure to announce the downtime in the Web App Status thread.
Preserves links to any open mite_data PRs on GitHub
docker cp mite_web-mite_web-1:/mite_web/mite_web/dumps .
docker exec mite_web-nginx-1 touch /etc/nginx/maintenance.flag
docker exec mite_web-nginx-1 nginx -s reload
docker-compose stop mite_web postgres && docker-compose rm -v postgres
This assumes that only the mite_web container needs to be updated. nginx will continue to run and automatically serve a maintenance.html page.
git pull
docker-compose -f docker-compose.yml build --no-cache mite_web
docker-compose -f docker-compose.yml up -d --build --force-recreate postgres && docker-compose -f docker-compose.yml up -d --build --force-recreate mite_web
docker exec mite_web-nginx-1 rm /etc/nginx/maintenance.flag
docker exec mite_web-nginx-1 nginx -s reload
docker cp ./dumps mite_web-mite_web-1:/mite_web/mite_web && docker cp ./dumps/. mite_web-mite_web-1:/mite_web/mite_web/open_prs
Check if submission system works by performing a test submission. If not, there are possibly issues with the connection to GitHub.