FLASHApp for visualizing FLASHDeconv's results
This app is based on OpenMS streamlit template project.
run locally:
streamlit run app.py local
The viewers are built from openms-insight
components (tables, heatmaps, spectra, 3D plots and the proteoform sequence view).
The validation, QC and run comparison views need changes from
t0mdavid-m/OpenMS-Insight#21 that are not in 0.4.0, and the per-scan
fragmentation method in the sequence view needs t0mdavid-m/OpenMS-Insight#23. Both are on the openms-insight branch
claude/project-thread-hxjbbs. Until a release with them
is on PyPI, install it from source (the Docker and desktop builds do this for you):
git clone -b claude/project-thread-hxjbbs https://github.com/t0mdavid-m/openms-insight.git
cd openms-insight/js-component && npm ci && npm run build
mkdir -p ../openms_insight/js-component && cp -r dist ../openms_insight/js-component/
cd .. && pip install --no-deps .
Set streamlit to production in ./.streamlit/config.toml (developmentMode = false)
before building any version of FLASHApp.
First you need to build an image locally.
build image with: docker build -f Dockerfile --no-cache -t flashapp:latest --secret id=github_token,env=GITHUB_TOKEN .
You should see a successful output, but you can check if an image is built with:
docker image ls
After it has been built you can run the image with:
docker run -p 8501:8501 flashapp:latest
Navigate to http://localhost:8501 in your browser.
Every page shows Impressum, Privacy Policy and Terms of Use links in the
sidebar footer, and the GDPR consent banner links to the privacy policy. By default
these point to the official OpenMS pages (https://openms.de/impressum, /privacy,
/terms). To override them — for example when self-hosting or deploying FLASHApp
under a different operator — set legal_links in settings.json:
"legal_links": {
"impressum": "https://your-domain.example/impressum",
"privacy": "https://your-domain.example/privacy",
"terms": "https://your-domain.example/terms"
}
Any link you omit falls back to its OpenMS default. The privacy URL is reused for the
consent banner's privacy-policy link, so consent and policy stay in sync.
