Improve protein ID normalization and expand DE analysis in Mokume #72
This file contains hidden or 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: Python application | |
| on: | |
| push: | |
| branches: [ main, dev ] | |
| pull_request: | |
| branches: [ main, dev ] | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| python-version: ["3.10", "3.11"] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Miniconda | |
| uses: conda-incubator/setup-miniconda@v3 | |
| with: | |
| auto-update-conda: true | |
| python-version: ${{ matrix.python-version }} | |
| channels: conda-forge,bioconda,openms | |
| activate-environment: mokume | |
| environment-file: environment.yaml | |
| - name: Install package and dev dependencies | |
| shell: bash -l {0} | |
| run: | | |
| pip install pytest pytest-cov flake8 | |
| # Install with directlfq extra for complete quantification testing | |
| pip install -e ".[directlfq]" | |
| - name: Lint with flake8 | |
| shell: bash -l {0} | |
| run: | | |
| # Stop the build if there are Python syntax errors or undefined names | |
| flake8 mokume --count --select=E9,F63,F7,F82 --show-source --statistics | |
| # Exit-zero treats all errors as warnings | |
| flake8 mokume --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics | |
| - name: Test with pytest | |
| shell: bash -l {0} | |
| run: | | |
| # -s flag ensures quantification comparison tables are printed in CI logs | |
| pytest tests/ -v -s --tb=short --cov=mokume --cov-report=xml | |
| - name: Test CLI | |
| shell: bash -l {0} | |
| run: | | |
| mokume --help | |
| mokume peptides2protein --help | |
| mokume features2peptides --help | |
| mokume correct-batches --help | |
| - name: Test imports | |
| shell: bash -l {0} | |
| run: | | |
| python -c "import mokume; print(f'mokume version: {mokume.__version__}')" | |
| python -c "from mokume.quantification import Top3Quantification, MaxLFQQuantification" | |
| python -c "from mokume.quantification import DirectLFQQuantification, is_directlfq_available; print(f'DirectLFQ available: {is_directlfq_available()}')" | |
| python -c "from mokume.normalization.peptide import peptide_normalization" |