Skip to content

Functions to process, filter, annotate and aggregate variants by transcript expression (get the pext scores per variant) #1809

Functions to process, filter, annotate and aggregate variants by transcript expression (get the pext scores per variant)

Functions to process, filter, annotate and aggregate variants by transcript expression (get the pext scores per variant) #1809

Workflow file for this run

name: CI
on:
push:
branches:
- main
pull_request:
jobs:
pylint:
name: Pylint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Use pip cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
pip-
- name: Install dependencies
run: |
pip install wheel
pip install -r requirements.txt
pip install -r requirements-dev.txt
- name: Check formatting
run: black --check gnomad tests
- name: Check imports
run: isort --check-only gnomad tests
- name: Check docstrings
run: pydocstyle gnomad tests
- name: Check comment formatting
run: autopep8 --exit-code --diff gnomad
- name: Run Pylint
run: ./lint
- name: Run tests
run: python -m pytest
docs:
name: Build documentation
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Use pip cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('**/requirements*.txt') }}
restore-keys: |
pip-
- name: Install dependencies
run: |
pip install wheel
pip install -r requirements.txt
pip install -r docs/requirements.docs.txt
- name: Build docs
run: ./docs/build.sh
- name: Publish to GitHub Pages
if: github.event_name == 'push'
run: |
# Create empty gh-pages branch
git checkout --orphan gh-pages
# Remove files other than docs
git rm -rf .
find . -name __pycache__ | xargs rm -r
# Move docs to root
mv docs/html/* ./
rm -r docs
# Tell GitHub not to treat this as a Jekyll site
touch .nojekyll
git config user.name "${GITHUB_ACTOR}"
git config user.email "${GITHUB_ACTOR}@users.noreply.github.com"
git add .
git commit --allow-empty -m "Update docs"
git push --force origin gh-pages
# Restore the original working tree by checking out the
# commit that triggered the workflow.
# This restores requirements.txt so that @actions/cache
# can use it for determining the cache key.
git checkout ${GITHUB_SHA}
gnomad_qc:
name: gnomad_qc checks
runs-on: ubuntu-latest
steps:
- name: Checkout gnomad_methods
uses: actions/checkout@v3
with:
path: gnomad_methods
- name: Checkout gnomad_qc
uses: actions/checkout@v3
with:
submodules: recursive
repository: broadinstitute/gnomad_qc
path: gnomad_qc
- name: Setup Python 3.11
uses: actions/setup-python@v4
with:
python-version: 3.11
- name: Use pip cache
uses: actions/cache@v3
with:
path: ~/.cache/pip
key: pip-${{ hashFiles('gnomad_methods/**/requirements*.txt') }}
restore-keys: |
pip-
- name: Install dependencies
run: |
pip install wheel
pip install ./gnomad_methods
cat gnomad_qc/requirements.txt | grep -v gnomad_methods > gnomad_qc/requirements-edited.txt
pip install -r gnomad_qc/requirements-edited.txt
pip install -r gnomad_methods/requirements-dev.txt
- name: Run Pylint
run: pylint --disable=R,C,W gnomad_qc
working-directory: ./gnomad_qc