Refine prediction slurm example #1306
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: AlphaPulldown-CI-CD | |
on: | |
pull_request: | |
push: | |
branches: | |
- main | |
release: | |
types: [published] | |
workflow_dispatch: | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ["3.10", "3.11"] | |
install-type: ['user', 'developer'] | |
steps: | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "pip" | |
- run: python -c "import sys; print(sys.version)" | |
- run: | | |
echo $CONDA/bin >> $GITHUB_PATH | |
echo "$GITHUB_WORKSPACE/alphapulldown" >> $GITHUB_PATH | |
- if: matrix.install-type == 'user' | |
run: | | |
conda install -y -c conda-forge mamba | |
mamba create -n AlphaPulldown -c omnia -c bioconda -c conda-forge python==${{ matrix.python-version }} \ | |
openmm==8.0 pdbfixer==1.9 kalign2 hmmer hhsuite modelcif | |
eval "$(conda shell.bash hook)" | |
conda activate AlphaPulldown | |
pip install alphapulldown | |
pip install -U "jax[cuda12]" | |
- if: matrix.install-type == 'developer' | |
run: | | |
conda install -y -c conda-forge mamba | |
mamba create -n AlphaPulldown -c omnia -c bioconda -c conda-forge python==${{ matrix.python-version }} \ | |
openmm==8.0 pdbfixer==1.9 kalign2 hmmer hhsuite modelcif | |
eval "$(conda shell.bash hook)" | |
conda activate AlphaPulldown | |
pip install . | |
pip install -U "jax[cuda12]" | |
# export PYTHONPATH=$PWD/AlphaLink2:$PYTHONPATH | |
# install dependencies for AlphaLink backend | |
# pip install torch==1.13.0+cu117 --extra-index-url https://download.pytorch.org/whl/cu117 | |
# pip install setuptools==69.5.1 # Downgrade setuptools to avoid crashes when installing unicore | |
# git clone https://github.com/dptech-corp/Uni-Core.git | |
# cd Uni-Core | |
# python setup.py install --disable-cuda-ext | |
# cd .. | |
- run: | | |
eval "$(conda shell.bash hook)" | |
conda activate AlphaPulldown | |
python test/test_python_imports.py | |
pytest -s test/test_custom_db.py | |
pytest -s test/test_remove_clashes_low_plddt.py | |
pytest -s test/test_modelcif.py | |
pytest -s test/test_features_with_templates.py | |
pytest -s test/test_post_prediction.py | |
pytest -s test/test_parse_fold.py | |
#export PYTHONPATH=$PWD/alphapulldown/analysis_pipeline:$PYTHONPATH | |
## Test analysis pipeline | |
#conda install -c bioconda biopandas | |
#pip install pyrosetta-installer | |
#python -c 'import pyrosetta_installer; pyrosetta_installer.install_pyrosetta()' | |
#pytest -s test/test_pdb_analyser.py | |
#pytest -s test/test_get_good_inter_pae.py | |
build-fold-container: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: webfactory/[email protected] | |
with: | |
ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Free disk space | |
run: | | |
rm -rf /opt/hostedtoolcache | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push fold container | |
if: github.event_name == 'push' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/pulldown.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold:latest | |
ssh: default | |
- name: Build and push fold container with version | |
if: github.event_name == 'release' && github.event.action == 'published' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/pulldown.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold:${{ github.event.release.tag_name }} | |
ssh: default | |
build-analysis-container: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Free disk space | |
run: | | |
rm -rf /opt/hostedtoolcache | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ secrets.DOCKER_USERNAME }} | |
password: ${{ secrets.DOCKER_PASSWORD }} | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build and push analysis container | |
if: github.event_name == 'push' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/analysis.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold_analysis:latest | |
- name: Build and push analysis container with version | |
if: github.event_name == 'release' && github.event.action == 'published' | |
uses: docker/build-push-action@v5 | |
with: | |
context: . | |
file: ./docker/analysis.dockerfile | |
push: true | |
tags: ${{ secrets.DOCKER_USERNAME }}/fold_analysis:${{ github.event.release.tag_name }} |