From 612b994a92fe41dcefb4e63b2dda80ae1b07aab6 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Wed, 14 May 2025 09:44:53 +0200 Subject: [PATCH 01/17] enable heatmaps and score distribution plot --- content/FLASHTnT/FLASHTnTLayoutManager.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/content/FLASHTnT/FLASHTnTLayoutManager.py b/content/FLASHTnT/FLASHTnTLayoutManager.py index 9ad67e68..b951584d 100644 --- a/content/FLASHTnT/FLASHTnTLayoutManager.py +++ b/content/FLASHTnT/FLASHTnTLayoutManager.py @@ -12,6 +12,9 @@ 'Internal fragment map (Protein table needed)', 'Tag table (Protein table needed)', 'Sequence tag view (Tag table needed)', + 'Score Distribution Plot', + 'MS1 raw heatmap', + 'MS1 deconvolved heatmap' ] COMPONENT_NAMES=[ @@ -19,7 +22,10 @@ 'sequence_view', 'internal_fragment_map', 'tag_table', - 'combined_spectrum' + 'combined_spectrum', + 'id_fdr_plot', + 'ms1_raw_heatmap', + 'ms1_deconv_heat_map' ] # Setup cache access From 9b2abe7c2010726a5a4a24895854ec1623eeb972 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Wed, 14 May 2025 09:45:17 +0200 Subject: [PATCH 02/17] parse proteoform level scores --- src/parse/tnt.py | 30 +++++++++++++++++++++++++++++- src/render/initialize.py | 6 ++++++ 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/src/parse/tnt.py b/src/parse/tnt.py index 56259c87..6d2af9d9 100644 --- a/src/parse/tnt.py +++ b/src/parse/tnt.py @@ -5,6 +5,7 @@ from io import StringIO from pyopenms import AASequence +from scipy.stats import gaussian_kde from src.parse.masstable import parseFLASHDeconvOutput, parseFLASHTaggerOutput from src.render.sequence import ( @@ -157,4 +158,31 @@ def parseTnT(file_manager, dataset_id, deconv_mzML, anno_mzML, tag_tsv, protein_ } file_manager.store_data( dataset_id, 'settings', settings - ) \ No newline at end of file + ) + + density_target, density_decoy = fdr_density_distribution(protein_df, logger=logger) + file_manager.store_data(dataset_id, 'density_id_target', density_target) + file_manager.store_data(dataset_id, 'density_id_decoy', density_decoy) + + +def fdr_density_distribution(df, logger=None): + df = df[df['ProteoformLevelQvalue'] > 0] + # Find density targets + target_qscores = df[~df['accession'].str.startswith('DECOY_')]['ProteoformLevelQvalue'].dropna() + if len(target_qscores) > 0: + x_target = np.linspace(target_qscores.min(), target_qscores.max(), 200) + kde_target = gaussian_kde(target_qscores) + density_target = pd.DataFrame({'x': x_target, 'y': kde_target(x_target)}) + else: + density_target = pd.DataFrame(columns=['x', 'y']) + + # Find density decoys (if present) + decoy_qscores = df[df['accession'].str.startswith('DECOY_')]['ProteoformLevelQvalue'].dropna() + if len(decoy_qscores) > 0: + x_decoy = np.linspace(decoy_qscores.min(), decoy_qscores.max(), 200) + kde_decoy = gaussian_kde(decoy_qscores) + density_decoy = pd.DataFrame({'x': x_decoy, 'y': kde_decoy(x_decoy)}) + else: + density_decoy = pd.DataFrame(columns=['x', 'y']) + + return density_target, density_decoy \ No newline at end of file diff --git a/src/render/initialize.py b/src/render/initialize.py index c02411c1..60cc75bc 100644 --- a/src/render/initialize.py +++ b/src/render/initialize.py @@ -104,6 +104,12 @@ def initialize_data(comp_name, selected_data, file_manager, tool): data = file_manager.get_results(selected_data, ['density_decoy']) data_to_send['density_decoy'] = data['density_decoy'] component_arguments = FDRPlotly(title="FDR Plot") + elif comp_name == 'id_fdr_plot': + data = file_manager.get_results(selected_data, ['density_id_target']) + data_to_send['density_target'] = data['density_id_target'] + data = file_manager.get_results(selected_data, ['density_id_decoy']) + data_to_send['density_decoy'] = data['density_id_decoy'] + component_arguments = FDRPlotly(title="FDR Plot") elif comp_name == 'protein_table': # TODO: Unify lookup or remove in vue data = file_manager.get_results(selected_data, ['scan_table']) From ed24cea514a20e7a40371a729b2f0939348f04a7 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Wed, 14 May 2025 10:56:48 +0200 Subject: [PATCH 03/17] hold back Cython --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cacfca71..84b0fc9c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -81,7 +81,7 @@ SHELL ["mamba", "run", "-n", "streamlit-env", "/bin/bash", "-c"] # Install up-to-date cmake via mamba and packages for pyOpenMS build. RUN mamba install cmake -RUN pip install --upgrade pip && python -m pip install -U setuptools nose Cython autowrap pandas 'numpy==1.26.4' pytest +RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.10' autowrap pandas 'numpy==1.26.4' pytest # Clone OpenMS branch and the associcated contrib+thirdparties+pyOpenMS-doc submodules. RUN git clone --recursive --depth=1 -b ${OPENMS_BRANCH} --single-branch ${OPENMS_REPO} && cd /OpenMS From 6dd4b123e188602027e7311f32395eb297ab2f27 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Wed, 14 May 2025 11:54:17 +0200 Subject: [PATCH 04/17] proper constraint for Dockerfile --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 84b0fc9c..7bea3162 100644 --- a/Dockerfile +++ b/Dockerfile @@ -81,7 +81,7 @@ SHELL ["mamba", "run", "-n", "streamlit-env", "/bin/bash", "-c"] # Install up-to-date cmake via mamba and packages for pyOpenMS build. RUN mamba install cmake -RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.10' autowrap pandas 'numpy==1.26.4' pytest +RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.1' autowrap pandas 'numpy==1.26.4' pytest # Clone OpenMS branch and the associcated contrib+thirdparties+pyOpenMS-doc submodules. RUN git clone --recursive --depth=1 -b ${OPENMS_BRANCH} --single-branch ${OPENMS_REPO} && cd /OpenMS From e303aa1273dae42a15329ffe32067fd6e821dd87 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Wed, 14 May 2025 23:05:03 +0200 Subject: [PATCH 05/17] stop GA from blowing up. --- .github/workflows/build-docker-images.yml | 11 ++++++++++- Dockerfile | 8 ++++++-- openms-streamlit-vue-component | 2 +- 3 files changed, 17 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index d13b6446..30f81f49 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,4 +15,13 @@ jobs: steps: - uses: actions/checkout@v3 - name: Build the full Docker image - run: docker build . --file Dockerfile --tag streamlitapp:latest \ No newline at end of file + env: + DOCKER_BUILDKIT: 1 + COMPOSE_DOCKER_CLI_BUILD: 1 + run: | + docker build . --file Dockerfile \ + --tag streamlitapp:latest \ + --progress=plain \ + --build-arg BUILDKIT_INLINE_CACHE=1 \ + --build-arg DOCKER_BUILDKIT=1 \ + --output type=docker \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 7bea3162..81c0d2af 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,3 +1,4 @@ +# syntax=docker/dockerfile:1.4 # This Dockerfile builds OpenMS, the TOPP tools, pyOpenMS and thidparty tools. # It also adds a basic streamlit server that serves a pyOpenMS-based app. # hints: @@ -9,7 +10,7 @@ # Build JS-component -FROM node:21 AS js-build +FROM --platform=$BUILDPLATFORM node:21 AS js-build # JS Component ARG VUE_REPO=https://github.com/t0mdavid-m/openms-streamlit-vue-component.git @@ -40,6 +41,9 @@ ARG GITHUB_REPO=FLASHApp # Name of the zip file containing the windows executable ARG ASSET_NAME=OpenMS-App.zip +# Add BuildKit-specific arguments +ARG BUILDKIT_INLINE_CACHE=1 +ARG DOCKER_BUILDKIT=1 USER root @@ -81,7 +85,7 @@ SHELL ["mamba", "run", "-n", "streamlit-env", "/bin/bash", "-c"] # Install up-to-date cmake via mamba and packages for pyOpenMS build. RUN mamba install cmake -RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.1' autowrap pandas 'numpy==1.26.4' pytest +RUN pip install --upgrade pip && python -m pip install -U 'setuptools<80.4' nose 'Cython<3.1' autowrap pandas 'numpy==1.26.4' pytest # Clone OpenMS branch and the associcated contrib+thirdparties+pyOpenMS-doc submodules. RUN git clone --recursive --depth=1 -b ${OPENMS_BRANCH} --single-branch ${OPENMS_REPO} && cd /OpenMS diff --git a/openms-streamlit-vue-component b/openms-streamlit-vue-component index 1c8c9837..9aabf991 160000 --- a/openms-streamlit-vue-component +++ b/openms-streamlit-vue-component @@ -1 +1 @@ -Subproject commit 1c8c9837fbdb554992f135bb909f3ed8d127b58c +Subproject commit 9aabf9919e7a46837a29030ff16cac7f1aad8319 From 7f3b164369bfeeed3cd72513aa58a05df1b0e7be Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:17:37 +0200 Subject: [PATCH 06/17] Revert "stop GA from blowing up." This reverts commit e303aa1273dae42a15329ffe32067fd6e821dd87. --- .github/workflows/build-docker-images.yml | 11 +---------- Dockerfile | 8 ++------ openms-streamlit-vue-component | 2 +- 3 files changed, 4 insertions(+), 17 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 30f81f49..d13b6446 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,13 +15,4 @@ jobs: steps: - uses: actions/checkout@v3 - name: Build the full Docker image - env: - DOCKER_BUILDKIT: 1 - COMPOSE_DOCKER_CLI_BUILD: 1 - run: | - docker build . --file Dockerfile \ - --tag streamlitapp:latest \ - --progress=plain \ - --build-arg BUILDKIT_INLINE_CACHE=1 \ - --build-arg DOCKER_BUILDKIT=1 \ - --output type=docker \ No newline at end of file + run: docker build . --file Dockerfile --tag streamlitapp:latest \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 81c0d2af..7bea3162 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,3 @@ -# syntax=docker/dockerfile:1.4 # This Dockerfile builds OpenMS, the TOPP tools, pyOpenMS and thidparty tools. # It also adds a basic streamlit server that serves a pyOpenMS-based app. # hints: @@ -10,7 +9,7 @@ # Build JS-component -FROM --platform=$BUILDPLATFORM node:21 AS js-build +FROM node:21 AS js-build # JS Component ARG VUE_REPO=https://github.com/t0mdavid-m/openms-streamlit-vue-component.git @@ -41,9 +40,6 @@ ARG GITHUB_REPO=FLASHApp # Name of the zip file containing the windows executable ARG ASSET_NAME=OpenMS-App.zip -# Add BuildKit-specific arguments -ARG BUILDKIT_INLINE_CACHE=1 -ARG DOCKER_BUILDKIT=1 USER root @@ -85,7 +81,7 @@ SHELL ["mamba", "run", "-n", "streamlit-env", "/bin/bash", "-c"] # Install up-to-date cmake via mamba and packages for pyOpenMS build. RUN mamba install cmake -RUN pip install --upgrade pip && python -m pip install -U 'setuptools<80.4' nose 'Cython<3.1' autowrap pandas 'numpy==1.26.4' pytest +RUN pip install --upgrade pip && python -m pip install -U setuptools nose 'Cython<3.1' autowrap pandas 'numpy==1.26.4' pytest # Clone OpenMS branch and the associcated contrib+thirdparties+pyOpenMS-doc submodules. RUN git clone --recursive --depth=1 -b ${OPENMS_BRANCH} --single-branch ${OPENMS_REPO} && cd /OpenMS diff --git a/openms-streamlit-vue-component b/openms-streamlit-vue-component index 9aabf991..1c8c9837 160000 --- a/openms-streamlit-vue-component +++ b/openms-streamlit-vue-component @@ -1 +1 @@ -Subproject commit 9aabf9919e7a46837a29030ff16cac7f1aad8319 +Subproject commit 1c8c9837fbdb554992f135bb909f3ed8d127b58c From 0aa1fc45cddb93c98a06696b24aca3d285d7c5c4 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:20:04 +0200 Subject: [PATCH 07/17] remove output type for docker ci --- .github/workflows/build-docker-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index d13b6446..7319bff2 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,4 +15,4 @@ jobs: steps: - uses: actions/checkout@v3 - name: Build the full Docker image - run: docker build . --file Dockerfile --tag streamlitapp:latest \ No newline at end of file + run: docker build . --file Dockerfile --tag streamlitapp:latest --output=type=none \ No newline at end of file From 85e829f8cfc4f11b3671139960c8631971b5acd9 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:21:34 +0200 Subject: [PATCH 08/17] use buildkit --- .github/workflows/build-docker-images.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 7319bff2..66b7b0d5 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,4 +15,6 @@ jobs: steps: - uses: actions/checkout@v3 - name: Build the full Docker image - run: docker build . --file Dockerfile --tag streamlitapp:latest --output=type=none \ No newline at end of file + run: | + export DOCKER_BUILDKIT=1 + docker build . --file Dockerfile --tag streamlitapp:latest --output=type=none \ No newline at end of file From 66d0b2ef7abc82fe806dd9b76c88f600aae8c90b Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:24:06 +0200 Subject: [PATCH 09/17] use buildx --- .github/workflows/build-docker-images.yml | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 66b7b0d5..db5e1770 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -13,8 +13,10 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 - - name: Build the full Docker image - run: | - export DOCKER_BUILDKIT=1 - docker build . --file Dockerfile --tag streamlitapp:latest --output=type=none \ No newline at end of file + - uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v3 + + - name: Test build of Docker image without exporting + run: docker buildx build --file Dockerfile --output=type=none . From 8e45563c5244100d91026aab12072ebbaf32200c Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:26:26 +0200 Subject: [PATCH 10/17] enable buildkit features --- .github/workflows/build-docker-images.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index db5e1770..3baf8914 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -17,6 +17,8 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 + with: + driver: docker-container # Enables full BuildKit features - - name: Test build of Docker image without exporting - run: docker buildx build --file Dockerfile --output=type=none . + - name: Test Docker build without export + run: docker buildx build --file Dockerfile --output=type=none . \ No newline at end of file From 8e284bce0afb0cbc1da75d2cb69f32500bd9d823 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:28:10 +0200 Subject: [PATCH 11/17] next attempt --- .github/workflows/build-docker-images.yml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 3baf8914..8a568d3d 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -18,7 +18,14 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 with: - driver: docker-container # Enables full BuildKit features + install: true + driver: docker-container + use: true - - name: Test Docker build without export + - name: Create a new builder instance + run: | + docker buildx create --use --name mybuilder --driver docker-container + docker buildx inspect --bootstrap + + - name: Test Docker build without exporting layers run: docker buildx build --file Dockerfile --output=type=none . \ No newline at end of file From cf6123cc5e197eff947fd25bec71ee87ca7590a1 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 08:31:08 +0200 Subject: [PATCH 12/17] try no cache flag --- .github/workflows/build-docker-images.yml | 14 +------------- 1 file changed, 1 insertion(+), 13 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 8a568d3d..bc25fafc 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,17 +15,5 @@ jobs: steps: - uses: actions/checkout@v3 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - with: - install: true - driver: docker-container - use: true - - - name: Create a new builder instance - run: | - docker buildx create --use --name mybuilder --driver docker-container - docker buildx inspect --bootstrap - - name: Test Docker build without exporting layers - run: docker buildx build --file Dockerfile --output=type=none . \ No newline at end of file + run: docker build --no-cache -f Dockerfile . \ No newline at end of file From 5def8b02b41b9762a45eccd696c6729a8f0ff8b8 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 09:38:50 +0200 Subject: [PATCH 13/17] set target to build stage --- .github/workflows/build-docker-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index bc25fafc..f6b7eec5 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -16,4 +16,4 @@ jobs: - uses: actions/checkout@v3 - name: Test Docker build without exporting layers - run: docker build --no-cache -f Dockerfile . \ No newline at end of file + run: docker build --target build-stage -f Dockerfile . \ No newline at end of file From 8a21c76ddc7288b7a2ca2f6ac21273648b9562a2 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 09:42:22 +0200 Subject: [PATCH 14/17] fix target name --- .github/workflows/build-docker-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index f6b7eec5..438c3f7b 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -16,4 +16,4 @@ jobs: - uses: actions/checkout@v3 - name: Test Docker build without exporting layers - run: docker build --target build-stage -f Dockerfile . \ No newline at end of file + run: docker build --target run-app -f Dockerfile . \ No newline at end of file From 1b842d545740a001cabcee0378ddfe8b98ff8930 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 10:51:08 +0200 Subject: [PATCH 15/17] send test output to dev/null --- .github/workflows/build-docker-images.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 438c3f7b..71118dae 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -14,6 +14,5 @@ jobs: steps: - uses: actions/checkout@v3 - - - name: Test Docker build without exporting layers - run: docker build --target run-app -f Dockerfile . \ No newline at end of file + - name: Build the full Docker image + run: docker build . --file Dockerfile --tag streamlitapp:latest -output type=tar,dest=/dev/null \ No newline at end of file From 3b0ab94162a7fcc415d81d260b72d9e7aeb0a514 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 11:00:42 +0200 Subject: [PATCH 16/17] options before path --- .github/workflows/build-docker-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 71118dae..94686dec 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,4 +15,4 @@ jobs: steps: - uses: actions/checkout@v3 - name: Build the full Docker image - run: docker build . --file Dockerfile --tag streamlitapp:latest -output type=tar,dest=/dev/null \ No newline at end of file + run: docker build --file Dockerfile --tag streamlitapp:latest -output type=tar,dest=/dev/null . \ No newline at end of file From 8dc755abae574f73d76b6f686b4c76c08029e2c1 Mon Sep 17 00:00:00 2001 From: Tom David Mueller Date: Thu, 15 May 2025 11:02:08 +0200 Subject: [PATCH 17/17] fix typo --- .github/workflows/build-docker-images.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index 94686dec..ec1ceb3d 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -15,4 +15,4 @@ jobs: steps: - uses: actions/checkout@v3 - name: Build the full Docker image - run: docker build --file Dockerfile --tag streamlitapp:latest -output type=tar,dest=/dev/null . \ No newline at end of file + run: docker build --file Dockerfile --tag streamlitapp:latest --output type=tar,dest=/dev/null . \ No newline at end of file