-
Notifications
You must be signed in to change notification settings - Fork 43
Expand file tree
/
Copy path.env_example
More file actions
154 lines (128 loc) · 5.83 KB
/
.env_example
File metadata and controls
154 lines (128 loc) · 5.83 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
# ==============================================================================
# Complexa Environment Configuration
#
# Setup:
# complexa init # Creates .env from this template
# # Edit .env with your values, then:
# complexa init <uv|docker> # Generates env.sh for your runtime
# source env.sh # Activates the environment
#
# WARNING: .env contains sensitive credentials.
# Do NOT commit .env to version control!
# ==============================================================================
# ==============================================================================
# USER CONFIGURATION — Edit these to match your setup
# ==============================================================================
# Credentials (SENSITIVE — fill in your values)
GITLAB_TOKEN=TOKEN_HERE
WANDB_API_KEY=YOUR_WANDB_KEY
WANDB_ENTITY=YOUR_WANDB_ENTITY
HF_TOKEN=HF_TOKEN_HERE
# Local paths (host-side) — set these to your machine's paths
LOCAL_CODE_PATH=/path/to/Proteina-Complexa
LOCAL_DATA_PATH=/path/to/PFM_data
LOCAL_CACHE_DIR=${LOCAL_CODE_PATH}/.cache
LOCAL_CHECKPOINT_PATH=${LOCAL_CODE_PATH}/checkpoints
# Custom docker mounts (comma-separated "host_path:container_path" pairs, leave empty for none)
DOCKER_MOUNTS=
# Logging
LOGURU_LEVEL=INFO
# Cluster access
CLUSTER_USER=USER_NAME_HERE
# ==============================================================================
# DOCKER SETTINGS — Typically unchanged
# ==============================================================================
# Registry
REGISTRY=registry.example.com
REGISTRY_USER='$oauthuser'
# Docker image and container
DOCKER_IMAGE=registry.example.com/org/repo:tag
CONTAINER_NAME=proteina-dev
DOCKERFILE_PATH=env/docker/Dockerfile
# Docker-side paths (container-internal)
DOCKER_REPO_PATH=/workspace/Proteina-Complexa
DOCKER_DATA_PATH=/workspace/data/PFM_data
DOCKER_PYTHONPATH=/workspace/Proteina-Complexa/src
DOCKER_CHECKPOINT_PATH=/workspace/Proteina-Complexa/checkpoints
DOCKER_CACHE_DIR=/workspace/Proteina-Complexa/.cache
DOCKER_HF_HOME=/workspace/Proteina-Complexa/community_models/ckpts
DOCKER_HF_HUB_CACHE=${DOCKER_CACHE_DIR}/huggingface/hub
# ==============================================================================
# MODEL CHECKPOINTS — Derived from LOCAL_CODE_PATH, rarely need changes
# ==============================================================================
USE_V2_COMPLEXA_ARCH=False
# Community model checkpoints
COMMUNITY_MODELS_PATH=${LOCAL_CODE_PATH}/community_models
ESM_DIR=${COMMUNITY_MODELS_PATH}/ckpts/ESM2
AF2_DIR=${COMMUNITY_MODELS_PATH}/ckpts/AF2
RF3_DIR=${COMMUNITY_MODELS_PATH}/ckpts/RF3
RF3_CKPT_PATH=${RF3_DIR}/rf3_foundry_01_24_latest_remapped.ckpt
# ==============================================================================
# EXTERNAL TOOLS — Runtime-specific paths to tool executables
# ==============================================================================
# Python code reads the base names (FOLDSEEK_EXEC, SC_EXEC, etc.) via os.getenv().
# The base names default to UV paths. Change them to DOCKER_* if needed.
UV_VENV=${LOCAL_CODE_PATH}/.venv
# UV runtime tools (default for local development with .venv)
UV_FOLDSEEK_EXEC=${UV_VENV}/bin/foldseek
UV_RF3_EXEC_PATH=${UV_VENV}/bin/rf3
UV_SC_EXEC=${LOCAL_CODE_PATH}/env/docker/internal/sc
UV_MMSEQS_EXEC=${UV_VENV}/bin/mmseqs
UV_DSSP_EXEC=${LOCAL_CODE_PATH}/env/docker/internal/dssp
UV_TMOL_PATH=${UV_VENV}/lib/python3.12/site-packages/tmol
# Docker runtime tools (set in Dockerfile; also used for SLURM Pyxis)
DOCKER_FOLDSEEK_EXEC=/workspace/.venv/bin/foldseek
DOCKER_RF3_EXEC_PATH=/workspace/.venv/bin/rf3
DOCKER_SC_EXEC=/usr/local/bin/sc
DOCKER_MMSEQS_EXEC=/workspace/.venv/bin/mmseqs
DOCKER_DSSP_EXEC=/usr/local/bin/dssp
DOCKER_TMOL_PATH=/workspace/.venv/lib/python3.12/site-packages/tmol
# Active tool paths — Python reads these via os.getenv()
# Default to UV; change to ${DOCKER_*} to switch local runtime
FOLDSEEK_EXEC=${UV_FOLDSEEK_EXEC}
RF3_EXEC_PATH=${UV_RF3_EXEC_PATH}
SC_EXEC=${UV_SC_EXEC}
MMSEQS_EXEC=${UV_MMSEQS_EXEC}
DSSP_EXEC=${UV_DSSP_EXEC}
TMOL_PATH=${UV_TMOL_PATH}
DATA_PATH=${LOCAL_DATA_PATH}
# Active checkpoint path — YAML configs use ${oc.env:CKPT_PATH}
CKPT_PATH=${LOCAL_CHECKPOINT_PATH}
# ==============================================================================
# SLURM CLUSTER SETTINGS
# ==============================================================================
# Login node to cluster
CLUSTER_HOST="login-node.example.com"
# Data copier node
CLUSTER_HOST_DC="data-copier-node.example.com"
CLUSTER_SSH_KEY=
# SLURM settings
CLUSTER_ACCOUNT="slurm_user"
CLUSTER_PARTITION="gpus"
CLUSTER_RUNTIME=docker # Options: docker, uv
# Paths on cluster
# Root path for all cluster runs
CLUSTER_ROOT_REMOTE=
# base path for data
CLUSTER_DATA_PATH="/path/to/data"
CLUSTER_CACHE_DIR=
# Shared model directories on cluster (optional).
# When set, community_models, params, LigandMPNN, ProteinMPNN are stored here
# once and mounted into each container run instead of being rsynced per-run.
CLUSTER_SHARED_MODELS_PATH=
# Shared community model checkpoints subdirectory on cluster (optional, skips rsyncing ckpts)
CLUSTER_COMMUNITY_MODELS_REMOTE=
# Docker runtime settings (CLUSTER_RUNTIME=docker, uses Pyxis/Enroot on SLURM)
# Tool paths are the DOCKER_* values above — no separate CLUSTER_DOCKER_* needed
CLUSTER_CONTAINER_IMAGE=${DOCKER_IMAGE}
CLUSTER_CONTAINER_WORKSPACE=/workspace/Proteina-Complexa
# Custom container mounts (comma-separated "host_path:container_path" pairs, leave empty for none)
CLUSTER_DOCKER_MOUNTS=
# UV runtime settings (CLUSTER_RUNTIME=uv)
CLUSTER_UV_VENV=
# Cluster UV tool paths (CLUSTER_RUNTIME=uv)
CLUSTER_UV_FOLDSEEK_EXEC=${CLUSTER_UV_VENV}/bin/foldseek
CLUSTER_UV_RF3_EXEC_PATH=${CLUSTER_UV_VENV}/bin/rf3
CLUSTER_UV_SC_EXEC=${CLUSTER_UV_VENV}/bin/sc
CLUSTER_UV_MMSEQS_EXEC=${CLUSTER_UV_VENV}/bin/mmseqs
CLUSTER_UV_DSSP_EXEC=${CLUSTER_UV_VENV}/bin/dssp