Skip to content

Commit cb0af54

Browse files
Migrate and optimize ULTIMATE_HYBRID_MODEL (workflow-005) with GPU support
1 parent 339c97f commit cb0af54

Some content is hidden

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

55 files changed

+50192
-2580
lines changed
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
FROM mambaorg/micromamba:latest
2+
3+
# Set working directory
4+
WORKDIR /app
5+
6+
# Metadata
7+
LABEL version="3.0"
8+
LABEL description="QSAR Hybrid Model V3 - Interactive Dashboards & Prediction Pipeline"
9+
LABEL maintainer="QSAR Abdo"
10+
11+
# Copy environment file
12+
COPY final_environment.yml /tmp/env.yaml
13+
14+
# Install dependencies
15+
RUN micromamba install -y -n base -f /tmp/env.yaml && \
16+
micromamba clean --all --yes
17+
18+
# Activate environment by default
19+
ARG MAMBA_DOCKERFILE_ACTIVATE=1
20+
ENV PATH="/opt/conda/bin:${PATH}"
21+
ENV LD_LIBRARY_PATH="/opt/conda/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cudnn/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cublas/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cuda_runtime/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cuda_cupti/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cuda_nvcc/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cufft/lib:/opt/conda/lib/python3.10/site-packages/nvidia/curand/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cusolver/lib:/opt/conda/lib/python3.10/site-packages/nvidia/cusparse/lib:/opt/conda/lib/python3.10/site-packages/nvidia/nccl/lib:/opt/conda/lib/python3.10/site-packages/nvidia/nvjitlink/lib"
22+
23+
# TensorFlow & NVIDIA Optimizations
24+
ENV TF_ENABLE_ONEDNN_OPTS=0
25+
ENV TF_CPP_MIN_LOG_LEVEL=2
26+
ENV NVIDIA_VISIBLE_DEVICES=all
27+
ENV NVIDIA_DRIVER_CAPABILITIES=compute,utility
28+
29+
# Switch to root to perform file operations
30+
USER root
31+
32+
# Copy source code (respecting .dockerignore if present, but we copy widely here)
33+
# We copy specific directories to avoid clutter
34+
COPY 1_data_prep /app/1_data_prep
35+
COPY 2_model_train /app/2_model_train
36+
COPY 3_analyze_overfitting /app/3_analyze_overfitting
37+
COPY 4_predict_from_csv /app/4_predict_from_csv
38+
COPY input_files /app/input_files
39+
40+
# Create output directories to ensure they exist/persist
41+
RUN mkdir -p /app/1_data_prep/outputs \
42+
/app/2_model_train/outputs \
43+
/app/3_analyze_overfitting/outputs \
44+
/app/4_predict_from_csv/outputs
45+
46+
# Make run scripts executable
47+
RUN chmod +x /app/1_data_prep/run.sh \
48+
/app/2_model_train/run.sh \
49+
/app/3_analyze_overfitting/run.sh \
50+
/app/4_predict_from_csv/run.sh
51+
52+
# Switch back to mambauser
53+
USER $MAMBA_USER
54+
55+
# Expose data volumes for explicit input/output handling
56+
VOLUME ["/app/input_files", "/app/4_predict_from_csv/inputs"]
57+
58+
# Default command: Open a shell
59+
CMD ["/bin/bash"]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
name: qsar_hybrid_env
2+
channels:
3+
- conda-forge
4+
- defaults
5+
dependencies:
6+
- python=3.10
7+
- numpy
8+
- pandas
9+
- matplotlib
10+
- scikit-learn
11+
- rdkit
12+
- pip
13+
- pip:
14+
- tensorflow[and-cuda]
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
name = "QSAR_Modeling_Pipeline"
2-
description = "Machine Learning-Based Drug Discovery with Premium Interactive Visualization"
2+
description = "Machine Learning-Based Drug Discovery with Interactive Visualization"
33

44
[dependencies]
55
# Node 2 depends on Node 1
6-
02-feature-engineering = ["01-data-preparation"]
6+
2_model_train = ["1_data_prep"]
77

8-
# Node 3 depends on Node 2
9-
03-model-training = ["02-feature-engineering"]
8+
# Node 3 depends on Node 1 (data) and Node 2 (model)
9+
3_analyze_overfitting = ["1_data_prep", "2_model_train"]
1010

11-
# Node 4 depends on Node 2 (scaler, ad_stats) and Node 3 (model)
12-
04-prediction = ["02-feature-engineering", "03-model-training"]
11+
# Node 4 depends on Node 2 (model & pipeline)
12+
4_predict_from_csv = ["2_model_train"]

workflows/workflow-005/01-data-preparation/.chiral/job.toml

Lines changed: 0 additions & 14 deletions
This file was deleted.

workflows/workflow-005/01-data-preparation/generate_data_prep_report.py

Lines changed: 0 additions & 76 deletions
This file was deleted.

workflows/workflow-005/01-data-preparation/run_data_prep.py

Lines changed: 0 additions & 154 deletions
This file was deleted.

workflows/workflow-005/02-feature-engineering/.chiral/job.toml

Lines changed: 0 additions & 21 deletions
This file was deleted.

0 commit comments

Comments
 (0)