Skip to content

Commit

Permalink
Add Chai-1 fork
Browse files Browse the repository at this point in the history
  • Loading branch information
amorehead committed Sep 24, 2024
1 parent 3d391bc commit 8682f8f
Show file tree
Hide file tree
Showing 4,358 changed files with 276,248 additions and 1 deletion.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 0 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ repos:
- id: detect-private-key
- id: check-executables-have-shebangs
- id: check-toml
- id: check-case-conflict
- id: check-added-large-files
args: ["--maxkb=15000"]

Expand Down
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,9 @@ cd forks/NeuralPLexer/ && pip3 install -e . && cd ../../
mamba env create -f environments/rfaa_environment.yaml --prefix forks/RoseTTAFold-All-Atom/RFAA/
conda activate forks/RoseTTAFold-All-Atom/RFAA/ # NOTE: one still needs to use `conda` to (de)activate environments
cd forks/RoseTTAFold-All-Atom/rf2aa/SE3Transformer/ && pip3 install --no-cache-dir -r requirements.txt && python3 setup.py install && cd ../../../../
# - Chai-1 environment (~6 GB)
mamba env create -f environments/chai_lab_environment.yaml --prefix forks/chai-lab/chai-lab/
conda activate forks/chai-lab/chai-lab/ # NOTE: one still needs to use `conda` to (de)activate environments
# - AutoDock Vina Tools environment (~1 GB)
mamba env create -f environments/adfr_environment.yaml --prefix forks/Vina/ADFR/
conda activate forks/Vina/ADFR/ # NOTE: one still needs to use `conda` to (de)activate environments
Expand Down
174 changes: 174 additions & 0 deletions environments/chai_lab_environment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,174 @@
name: chai-lab
channels:
- conda-forge
dependencies:
- _libgcc_mutex=0.1=conda_forge
- _openmp_mutex=4.5=2_gnu
- bzip2=1.0.8=h4bc722e_7
- ca-certificates=2024.8.30=hbcca054_0
- ld_impl_linux-64=2.43=h712a8e2_0
- libexpat=2.6.3=h5888daf_0
- libffi=3.4.2=h7f98852_5
- libgcc=14.1.0=h77fa898_1
- libgcc-ng=14.1.0=h69a702a_1
- libgomp=14.1.0=h77fa898_1
- libnsl=2.0.1=hd590300_0
- libsqlite=3.46.1=hadc24fc_0
- libuuid=2.38.1=h0b41bf4_0
- libxcrypt=4.4.36=hd590300_1
- libzlib=1.3.1=h4ab18f5_1
- ncurses=6.5=he02047a_1
- openssl=3.3.2=hb9d3cd8_0
- pip=24.2=pyh8b19718_1
- python=3.11.10=hc5c86c4_1_cpython
- readline=8.2=h8228510_1
- setuptools=74.1.2=pyhd8ed1ab_0
- tk=8.6.13=noxft_h4845f30_101
- wheel=0.44.0=pyhd8ed1ab_0
- xz=5.2.6=h166bdaf_0
- pip:
- aiobotocore==2.15.1
- aiohappyeyeballs==2.4.0
- aiohttp==3.10.5
- aioitertools==0.12.0
- aiosignal==1.3.1
- antipickle==0.2.0
- asttokens==2.4.1
- attrs==24.2.0
- beartype==0.18.5
- biopython==1.83
- botocore==1.35.23
- cachetools==5.5.0
- certifi==2024.8.30
- cfgv==3.4.0
- charset-normalizer==3.3.2
- click==8.1.7
- comm==0.2.2
- contourpy==1.3.0
- cycler==0.12.1
- db-dtypes==1.3.0
- debugpy==1.8.5
- decorator==5.1.1
- distlib==0.3.8
- einops==0.8.0
- executing==2.1.0
- filelock==3.16.1
- fonttools==4.54.1
- frozenlist==1.4.1
- fsspec==2024.9.0
- gcsfs==2024.9.0.post1
- gemmi==0.6.7
- google-api-core==2.20.0
- google-auth==2.35.0
- google-auth-oauthlib==1.2.1
- google-cloud-bigquery==3.25.0
- google-cloud-core==2.4.1
- google-cloud-storage==2.18.2
- google-crc32c==1.6.0
- google-resumable-media==2.7.2
- googleapis-common-protos==1.65.0
- grpcio==1.66.1
- grpcio-status==1.66.1
- huggingface-hub==0.25.1
- identify==2.6.1
- idna==3.10
- iniconfig==2.0.0
- ipykernel==6.29.5
- ipython==8.27.0
- jaxtyping==0.2.34
- jedi==0.19.1
- jinja2==3.1.4
- jmespath==1.0.1
- jupyter-client==8.6.3
- jupyter-core==5.7.2
- kiwisolver==1.4.7
- markdown-it-py==3.0.0
- markupsafe==2.1.5
- matplotlib==3.9.2
- matplotlib-inline==0.1.7
- mdurl==0.1.2
- mpmath==1.3.0
- msgpack==1.1.0
- multidict==6.1.0
- mypy==1.11.2
- mypy-extensions==1.0.0
- nest-asyncio==1.6.0
- networkx==3.3
- nodeenv==1.9.1
- numpy==1.26.4
- nvidia-cublas-cu12==12.1.3.1
- nvidia-cuda-cupti-cu12==12.1.105
- nvidia-cuda-nvrtc-cu12==12.1.105
- nvidia-cuda-runtime-cu12==12.1.105
- nvidia-cudnn-cu12==8.9.2.26
- nvidia-cufft-cu12==11.0.2.54
- nvidia-curand-cu12==10.3.2.106
- nvidia-cusolver-cu12==11.4.5.107
- nvidia-cusparse-cu12==12.1.0.106
- nvidia-nccl-cu12==2.20.5
- nvidia-nvjitlink-cu12==12.6.68
- nvidia-nvtx-cu12==12.1.105
- oauthlib==3.2.2
- packaging==24.1
- pandas==2.2.3
- pandas-gbq==0.23.2
- pandas-stubs==2.2.2.240909
- parso==0.8.4
- pexpect==4.9.0
- pillow==10.4.0
- platformdirs==4.3.6
- pluggy==1.5.0
- pre-commit==3.8.0
- prompt-toolkit==3.0.47
- proto-plus==1.24.0
- protobuf==5.28.2
- psutil==6.0.0
- ptyprocess==0.7.0
- pure-eval==0.2.3
- pyarrow==17.0.0
- pyasn1==0.6.1
- pyasn1-modules==0.4.1
- pydata-google-auth==1.8.2
- pygments==2.18.0
- pyparsing==3.1.4
- pytest==8.3.3
- python-dateutil==2.9.0.post0
- pytz==2024.2
- pyyaml==6.0.2
- pyzmq==26.2.0
- rdkit==2023.9.5
- regex==2024.9.11
- requests==2.32.3
- requests-oauthlib==2.0.0
- rich==13.8.1
- rsa==4.9
- ruff==0.6.3
- s3fs==2024.9.0
- safetensors==0.4.5
- shellingham==1.5.4
- six==1.16.0
- stack-data==0.6.3
- sympy==1.13.3
- tmtools==0.2.0
- tokenizers==0.19.1
- torch==2.3.1
- tornado==6.4.1
- tqdm==4.66.5
- traitlets==5.14.3
- transformers==4.44.2
- triton==2.3.1
- typeguard==2.13.3
- typer==0.12.5
- types-pytz==2024.2.0.20240913
- types-pyyaml==6.0.12.20240917
- types-requests==2.32.0.20240914
- types-tqdm==4.66.0.20240417
- typing-extensions==4.12.2
- tzdata==2024.2
- urllib3==2.2.3
- virtualenv==20.26.5
- wcwidth==0.2.13
- wrapt==1.16.0
- yarl==1.12.1
prefix:
forks/chai-lab/chai-lab
42 changes: 42 additions & 0 deletions forks/chai-lab/.devcontainer/devcontainer.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
{
"name": "ChaiLab",
"build": {
"context": "..",
"dockerfile": "../Dockerfile.chailab",
"target": "chailab-baseimage"
},
"runArgs": [
// by default use all GPUs, can be overriden by envvar
"--gpus=${localEnv:DEVBOX_GPU_SPEC:all}",
"--ipc=host",
"-v=/data/instance:/data/instance",
// default container name is chai-lab-container
"--name=chai-lab-${localEnv:DEVBOX_USER:container}",
// set restrictions on CPU and RAM memory usage
"--cpus=60.0",
"--memory=1000g"
],
"shutdownAction": "none",
"postCreateCommand": "uv pip install -e . && pre-commit install -f",
"customizations": {
"vscode": {
"settings": {
"python.defaultInterpreterPath": "/opt/venv/bin/python"
},
"extensions": [
"ms-azuretools.vscode-docker",
"ms-python.python",
"ms-python.vscode-pylance",
"ms-python.mypy-type-checker",
"charliermarsh.ruff",
"ms-toolsai.jupyter",
"arianjamasb.protein-viewer",
"redhat.vscode-yaml",
// very optional git-specific stuff
"arturock.gitstash",
"mhutchie.git-graph",
"GitHub.vscode-pull-request-github"
]
}
}
}
12 changes: 12 additions & 0 deletions forks/chai-lab/.github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for more information:
# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates
# https://containers.dev/guide/dependabot

version: 2
updates:
- package-ecosystem: "devcontainers"
directory: "/"
schedule:
interval: weekly
9 changes: 9 additions & 0 deletions forks/chai-lab/.github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## Description
<!--- Describe your changes in detail -->

## Motivation
<!--- Why is this change required? What problem does it solve? -->
<!--- If it fixes an open issue, please link to the issue here. -->

## Test plan
<!--- Please describe in detail how you tested your changes. -->
27 changes: 27 additions & 0 deletions forks/chai-lab/.github/workflows/mypy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Mypy
on:
# Triggered whenever a commit is added to the main branch
push:
branches:
- main
# Triggered whenever a PR is opened or updated
pull_request:
jobs:
mypy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip"
- name: Install dependencies
run: |
# install uv and cpu-only torch
pip install --no-deps uv -r <( cat requirements.in | grep torch) --extra-index-url https://download.pytorch.org/whl/cpu
# install requirements, except torch and potentially nvidia-related stuff
uv pip install --system -r <( cat requirements.in | grep -v nvidia | grep -v torch )
uv pip install --system --no-deps -e .
- name: Run mypy
run: mypy .
27 changes: 27 additions & 0 deletions forks/chai-lab/.github/workflows/prettier_yaml.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Prettier

on:
# Triggered whenever a commit is added to the main branch
push:
branches:
- main
# Triggered whenever a PR is opened or updated
pull_request:
jobs:
yaml:
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "20"

- name: Install dependencies
run: npm install --save-dev --save-exact prettier

- name: Run Prettier to check YAML format
run: npx prettier --check "**/*.yml" "**/*.yaml"
27 changes: 27 additions & 0 deletions forks/chai-lab/.github/workflows/publish-to-pypi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Deploy to pypi

on:
release:
types: [created]

jobs:
publish:
runs-on: ubuntu-latest
steps:
- name: Checkout sources
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.11"

- name: Install dependencies
run: |
pip install . && pip install hatch
- name: Publish to PyPi
env:
HATCH_INDEX_USER: "__token__"
HATCH_INDEX_AUTH: ${{ secrets.PYPI_TOKEN }}
run: |
hatch build --clean && hatch publish
27 changes: 27 additions & 0 deletions forks/chai-lab/.github/workflows/pytest.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Pytest
on:
# Triggered whenever a commit is added to the main branch
push:
branches:
- main
# Triggered whenever a PR is opened or updated
pull_request:
jobs:
pytest:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: "3.10" # ensure we support 3.10
cache: "pip"
- name: Install dependencies
run: |
# install uv and cpu-only torch
pip install --no-deps uv -r <( cat requirements.in | grep torch) --extra-index-url https://download.pytorch.org/whl/cpu
# install requirements, except torch and potentially nvidia-related stuff
uv pip install --system -r <( cat requirements.in | grep -v nvidia | grep -v torch )
uv pip install --system --no-deps -e .
- name: Run pytest
run: pytest ./tests/
27 changes: 27 additions & 0 deletions forks/chai-lab/.github/workflows/ruff.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Ruff
on:
# Triggered whenever a commit is added to the main branch
push:
branches:
- main
# Triggered whenever a PR is opened or updated
pull_request:
jobs:
ruff:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
- name: Install
run: pip install pre-commit
- name: Run pre-commit checks on all files
# run specific ruff pre-commit hooks on all files
run: >
pip install pre-commit
&& pre-commit install -f
&& pre-commit run ruff --all-files
&& pre-commit run ruff-format --all-files
Loading

0 comments on commit 8682f8f

Please sign in to comment.