Skip to content

Commit 630bed9

Browse files
Martin MetsojaMartin Metsoja
authored andcommitted
NextITS(v1.0.0), metamate fixes, QC pull progress, file detection/selection updates, Swal desing, assigning cores from RM, QuickTools mandatory inputs fixes
1 parent a4d2792 commit 630bed9

File tree

82 files changed

+9276
-4513
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

82 files changed

+9276
-4513
lines changed

image_development/Dockerfile_BLAST

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@ FROM ubuntu:22.04
22
RUN apt-get update -y \
33
&& apt-get install wget -y \
44
&& apt-get install gawk -y \
5+
&& apt-get install libc6 -y \
56
&& apt-get install python3 -y \
67
&& apt-get install python3-pip -y \
78
&& python3 -m pip install biopython \
8-
&& wget https://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/ncbi-blast-2.14.0+-x64-linux.tar.gz -O /tmp/blast.tar.gz \
9+
&& python3 -m pip install psutil==7.0.0 \
10+
&& wget https://ftp.ncbi.nlm.nih.gov/blast/executables/LATEST/ncbi-blast-2.16.0+-x64-linux.tar.gz -O /tmp/blast.tar.gz \
911
&& tar zxvf /tmp/blast.tar.gz -C /usr/bin \
10-
&& wget https://github.com/shenwei356/seqkit/releases/download/v2.3.0/seqkit_linux_amd64.tar.gz -O /tmp/seqkit.tar.gz \
12+
&& wget https://github.com/shenwei356/seqkit/releases/download/v2.10.0/seqkit_linux_amd64.tar.gz -O /tmp/seqkit.tar.gz \
1113
&& tar zxvf /tmp/seqkit.tar.gz -C /usr/bin
12-
ENV PATH=/usr/bin/ncbi-blast-2.14.0+/bin:$PATH
14+
ENV PATH=/usr/bin/ncbi-blast-2.16.0+/bin:$PATH

image_development/Dockerfile_metamate

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
1-
FROM continuumio/miniconda3
2-
COPY image_development/metamate_env.yaml /metamate_env.yaml
3-
RUN conda env create -f /metamate_env.yaml
4-
RUN conda clean --all --yes
5-
RUN git clone https://github.com/tjcreedy/metamate.git
1+
FROM continuumio/miniconda3:25.1.1-2
2+
3+
# Install metamate directly into base environment
4+
5+
RUN conda install -y -c bioconda -c conda-forge \
6+
metamate=0.4.3 \
7+
seqkit=2.10.0 && \
8+
conda clean --all --yes
9+
10+
# Create default specifications file
11+
RUN mkdir -p /default_specs && \
12+
echo "[library; n; 0-1/2]" > /default_specs/specifications0.txt
13+

image_development/Dockerfile_nextits

Lines changed: 77 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,29 @@
66
# docker build --tag nextits --file NextITS.dockerfile .
77

88
## Build stage 1 (Rust and Cargo)
9-
FROM rust:1.64 AS RUST
10-
RUN cargo install runiq sd
9+
FROM rust:1.84.1 AS rust
10+
RUN cargo install runiq sd
11+
12+
# Stage 2 (Nextflow - minimal stage)
13+
FROM nextflow/nextflow:24.10.5 AS nextflow
1114

1215
## Build stage 2 - Main
13-
FROM rocker/r-ver:4.2.2 AS MAIN
16+
FROM rocker/r-ver:4.4.2 AS main
1417

1518
ENV LANG=C.UTF-8
1619
ENV LC_ALL=C.UTF-8
1720
ENV SHELL=/bin/bash
1821
ENV CONDA_PREFIX="/opt/software/conda"
1922
ENV PATH=${PATH}:"/opt/software/conda/bin/"
20-
ENV JAVA_OPTS=-Djdk.lang.Process.launchMechanism=vfork
2123
LABEL org.opencontainers.image.authors="[email protected]"
24+
LABEL org.opencontainers.image.version="0.8.2"
2225

2326
RUN apt-get update -qq \
2427
&& apt-get -y --no-install-recommends install \
25-
tar zip unzip pigz gzip coreutils \
28+
tar zip unzip pigz gzip zstd xz-utils bzip2 coreutils \
2629
curl wget git less gawk nano rename bc \
2730
ca-certificates locales \
28-
libtre-dev libtre5 zlib1g zlib1g-dev \
31+
libtre-dev libtre5 zlib1g zlib1g-dev liblzma-dev libbz2-dev libcurl4-openssl-dev libglpk-dev libglpk40 \
2932
build-essential \
3033
&& apt-get clean \
3134
&& rm -rf /var/lib/apt/lists/*
@@ -36,51 +39,72 @@ RUN install2.r --error --skipinstalled --ncpus -1 \
3639
optparse \
3740
R.utils \
3841
data.table \
42+
arrow \
43+
duckdb \
3944
BiocManager \
4045
plyr \
46+
dplyr \
4147
ggplot2 \
4248
doFuture \
4349
openxlsx
4450

4551
RUN R -e 'BiocManager::install("Biostrings", ask = FALSE)' \
52+
&& R -e 'BiocManager::install("ShortRead", ask = FALSE)' \
4653
&& R -e 'BiocManager::install("DECIPHER", ask = FALSE)' \
54+
&& R -e 'BiocManager::install("dada2", ask = FALSE)' \
55+
&& R -e 'BiocManager::install("phyloseq", ask = FALSE)' \
4756
&& R -e 'remotes::install_github("vmikk/metagMisc")' \
57+
&& R -e 'remotes::install_cran("qs", type = "source", configure.args = "--with-simd=AVX2")' \
4858
&& rm -rf /tmp/downloaded_packages/
4959

5060
## Install conda
5161
RUN mkdir -p /opt/software \
5262
&& cd /opt/software \
5363
&& curl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh \
54-
&& bash ./Miniconda3-latest-Linux-x86_64.sh -u -b -p ${CONDA_PREFIX} \
64+
&& bash Miniconda3-latest-Linux-x86_64.sh -u -b -p ${CONDA_PREFIX} \
5565
&& rm Miniconda3-latest-Linux-x86_64.sh \
5666
&& ${CONDA_PREFIX}/bin/conda config --add channels defaults \
5767
&& ${CONDA_PREFIX}/bin/conda config --add channels conda-forge \
5868
&& ${CONDA_PREFIX}/bin/conda config --add channels bioconda \
59-
&& ${CONDA_PREFIX}/bin/conda install -y -c conda-forge mamba
69+
&& ${CONDA_PREFIX}/bin/conda install --quiet --yes mamba "python=3.12"
6070

6171
## Create conda environment and install software
6272
RUN ${CONDA_PREFIX}/bin/mamba install -y \
63-
"nextflow>=22.10.6" \
64-
"lima>=2.7.1" \
65-
"vsearch>=2.22.1" \
66-
"swarm>=3.1.3" \
67-
"seqkit>=2.3.1" \
68-
"seqfu>=1.17.1" \
69-
"fastp>=0.23.2" \
70-
"blast>=2.13.0" \
73+
-c conda-forge -c bioconda \
74+
"lima>=2.12.0" \
75+
"pbtk>=3.4.0" \
76+
"vsearch>=2.29.4" \
77+
"swarm>=3.1.5" \
78+
"seqkit>=2.9.0" \
79+
"seqfu>=1.22.3" \
80+
"fastp>=0.24.0" \
81+
"blast>=2.16.0" \
7182
"bioawk" \
72-
"miller>=6.6.0" \
73-
"bedtools>=2.30.0" \
74-
"parallel>=20230122" \
75-
"csvtk>=0.25.0" \
83+
"miller>=6.13.0" \
84+
"xsv>=0.13.0" \
85+
"bedtools>=2.31.1" \
86+
"parallel>=20241122" \
87+
"csvtk>=0.31.0" \
7688
"itsx>=1.1.3" \
77-
"itsxpress>=1.8.0" \
78-
"cutadapt>=4.2" \
79-
"bbmap>=39.01" \
80-
"ripgrep>=13.0.0" \
81-
"fd-find>=8.5.3" \
89+
"cutadapt>=5.0" \
90+
"bbmap>=39.15" \
91+
"ripgrep>=14.1.1" \
92+
"fd-find>=10.2.0" \
93+
"mmseqs2" \
8294
&& ${CONDA_PREFIX}/bin/mamba clean --all --yes
8395

96+
## Add new tools (seqhasher, phredsort, ucs)
97+
RUN cd /opt/software \
98+
&& wget https://github.com/vmikk/seqhasher/releases/download/1.1.1/seqhasher \
99+
&& chmod +x seqhasher \
100+
&& mv seqhasher ${CONDA_PREFIX}/bin/ \
101+
&& wget https://github.com/vmikk/phredsort/releases/download/1.3.0/phredsort \
102+
&& chmod +x phredsort \
103+
&& mv phredsort ${CONDA_PREFIX}/bin/ \
104+
&& wget https://github.com/vmikk/ucs/releases/download/0.8.0/ucs \
105+
&& chmod +x ucs \
106+
&& mv ucs ${CONDA_PREFIX}/bin/
107+
84108
## fqgrep
85109
RUN git clone --depth 1 https://github.com/indraniel/fqgrep \
86110
&& cd fqgrep \
@@ -90,21 +114,45 @@ RUN git clone --depth 1 https://github.com/indraniel/fqgrep \
90114
&& rm -r fqgrep
91115

92116
## rush
93-
RUN wget https://github.com/shenwei356/rush/releases/download/v0.5.0/rush_linux_amd64.tar.gz \
117+
RUN wget https://github.com/shenwei356/rush/releases/download/v0.5.4/rush_linux_amd64.tar.gz \
94118
&& tar -xzf rush_linux_amd64.tar.gz \
95119
&& mv rush ${CONDA_PREFIX}/bin/ \
96120
&& rm rush_linux_amd64.tar.gz
97121

122+
## brename
123+
RUN wget https://github.com/shenwei356/brename/releases/download/v2.14.0/brename_linux_amd64.tar.gz \
124+
&& tar -xzf brename_linux_amd64.tar.gz \
125+
&& mv brename ${conda_prefix}/bin/ \
126+
&& rm brename_linux_amd64.tar.gz
127+
98128
## MUMU
99-
RUN git clone https://github.com/frederic-mahe/mumu.git \
129+
RUN git clone --depth 1 https://github.com/frederic-mahe/mumu.git \
100130
&& cd ./mumu/ \
101131
&& make && make check && make install \
102132
&& mv mumu ${CONDA_PREFIX}/bin/ \
103133
&& cd .. \
104134
&& rm -r mumu
105135

106136
## Rust tools (from the Cargo-based stage)
107-
COPY --from=RUST /usr/local/cargo/bin/runiq /opt/software/conda/bin/runiq
108-
COPY --from=RUST /usr/local/cargo/bin/sd /opt/software/conda/bin/sd
137+
COPY --from=rust /usr/local/cargo/bin/runiq /opt/software/conda/bin/runiq
138+
COPY --from=rust /usr/local/cargo/bin/sd /opt/software/conda/bin/sd
139+
COPY --from=nextflow /usr/local/bin/nextflow /usr/local/bin/nextflow
140+
141+
## Update ITSx databases
142+
RUN cd /opt/software \
143+
&& git clone --depth 1 https://github.com/USDA-ARS-GBRU/ITS_HMMs/ \
144+
&& find ITS_HMMs/ITSx_db/HMMs/ -name "*.hmm" | grep -v "N.hmm" \
145+
| ${CONDA_PREFIX}/bin/parallel -j1 "${CONDA_PREFIX}/bin/hmmpress {}" \
146+
&& rm ${CONDA_PREFIX}/bin/ITSx_db/HMMs/* \
147+
&& mv ITS_HMMs/ITSx_db/HMMs/* ${CONDA_PREFIX}/bin/ITSx_db/HMMs/ \
148+
&& rm -r ITS_HMMs \
149+
&& sed -i '/#push(@profileSet,"Y")/s/#//' ${CONDA_PREFIX}/bin/ITSx
150+
151+
## Install DuckDB
152+
RUN cd /opt/software \
153+
&& curl -L https://github.com/duckdb/duckdb/releases/download/v1.2.0/duckdb_cli-linux-amd64.zip -o duckdb_cli-linux-amd64.zip \
154+
&& unzip duckdb_cli-linux-amd64.zip -d ${CONDA_PREFIX}/bin/ \
155+
&& rm duckdb_cli-linux-amd64.zip
156+
109157

110158
WORKDIR /opt/software

package.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,17 @@
33
"version": "1.1.0",
44
"private": true,
55
"author": {
6-
"name": "Martin Metsoja",
7-
"email": "[email protected]",
6+
"name": "Sten Anslan",
7+
"email": "[email protected]",
88
"url": "https://github.com/pipecraft2/pipecraft"
99
},
10+
"contributors": [
11+
{
12+
"name": "Martin Metsoja",
13+
"email": "[email protected]",
14+
"url": "https://github.com/pipecraft2/pipecraft"
15+
}
16+
],
1017
"scripts": {
1118
"serve": "vue-cli-service serve",
1219
"build": "vue-cli-service build",
@@ -38,7 +45,7 @@
3845
"path": "^0.12.7",
3946
"slash": "^3.0.0",
4047
"sockjs": "^0.3.21",
41-
"sweetalert2": "^10.15.5",
48+
"sweetalert2": "^11.17.2",
4249
"vue": "^2.6.11",
4350
"vue-router": "^3.2.0",
4451
"vuedraggable": "^2.24.3",

src/assets/swal.scss

Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
// assets/styles/swal.scss
2+
@import '~sweetalert2/src/sweetalert2';
3+
4+
// Custom step progress indicator styling
5+
.swal2-progress-steps {
6+
.swal2-progress-step {
7+
background: #545454 !important; /* gray-400 */
8+
&.swal2-active-progress-step {
9+
background: #1DE9B6 !important; /* blue-500 */
10+
}
11+
}
12+
.swal2-progress-step-line {
13+
background:#545454 !important; /* gray-400 */
14+
}
15+
}
16+
17+
// Content styling - centered and narrower
18+
.swal2-popup {
19+
width: auto !important; /* Let content determine width */
20+
min-width: 32rem !important; /* ~512px - adjust as needed */
21+
max-width: 40rem !important; /* ~640px - adjust as needed */
22+
23+
.swal2-html-container {
24+
text-align: center !important;
25+
}
26+
27+
.swal2-input, .swal2-textarea {
28+
width: 55% !important; /* Make inputs narrower */
29+
margin: 1rem auto !important; /* Center inputs */
30+
}
31+
32+
// Custom select box styling
33+
.swal2-select {
34+
border: 2px solid #1DE9B6 !important; /* Visible border */
35+
border-radius: 0.375rem !important;
36+
padding: 0.5rem !important;
37+
padding-right: 2rem !important; /* Extra space for the arrow */
38+
width: 55% !important; /* Make select narrower */
39+
margin: 1rem auto !important; /* Center select */
40+
background-color: #f9fafb !important; /* Light background */
41+
color: #1f2937 !important; /* Dark text */
42+
43+
/* Custom dropdown arrow styling */
44+
appearance: none !important; /* Remove default arrow */
45+
-webkit-appearance: none !important;
46+
-moz-appearance: none !important;
47+
48+
/* Add custom arrow */
49+
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") !important;
50+
background-repeat: no-repeat !important;
51+
background-position: right 0.5rem center !important;
52+
background-size: 1.5em !important;
53+
54+
/* Remove default focus styles */
55+
outline: none !important;
56+
outline-offset: 0 !important;
57+
58+
&:focus {
59+
border-color: #1DE9B6 !important; /* Blue focus border */
60+
box-shadow: 0 0 0 3px #1DE9B6 !important; /* Focus glow */
61+
}
62+
63+
option {
64+
padding: 0.5rem !important;
65+
background-color: white !important;
66+
}
67+
}
68+
69+
.swal2-confirm {
70+
background-color: #1DE9B6 !important; /* red-600 */
71+
color: white !important;
72+
padding: 0.5rem 1.5rem !important;
73+
border-radius: 0.5rem !important;
74+
75+
}
76+
77+
.swal2-cancel {
78+
background-color: white !important; /* red-200 */
79+
color: #1f2937 !important; /* gray-800 */
80+
padding: 0.5rem 1.5rem !important;
81+
border-radius: 0.5rem !important;
82+
83+
84+
}
85+
}
86+
87+
// Add title centering
88+
.swal2-title {
89+
text-align: center !important;
90+
}

0 commit comments

Comments
 (0)