Skip to content

Only apply pyrodigal meta mode when genome < 20kb and prevent long runs of N in predicted genes #1272

Only apply pyrodigal meta mode when genome < 20kb and prevent long runs of N in predicted genes

Only apply pyrodigal meta mode when genome < 20kb and prevent long runs of N in predicted genes #1272

Workflow file for this run

name: CI
on:
push:
branches:
- master
paths:
# if any of this files or directory changed, trigger the CI
# The only case where it is not triggerd is when docs/ is modified
- 'tests/**'
- 'testingDataset/**'
- '.github/**'
- 'ppanggolin/**'
- 'MANIFEST.in'
- 'VERSION'
- 'ppanggolin_env.yaml'
- 'pyproject.toml'
- 'setup.py'
pull_request:
branches:
- '*'
paths:
# if any of this files or directory changed, trigger the CI
# The only case where it is not triggerd is when docs/ is modified
- 'tests/**'
- 'testingDataset/**'
- '.github/**'
- 'ppanggolin/**'
- 'MANIFEST.in'
- 'VERSION'
- 'ppanggolin_env.yaml'
- 'pyproject.toml'
- 'setup.py'
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
env:
NUM_CPUS: 1
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
test:
name: test PPanGGOLiN on ${{ matrix.os }} with python ${{ matrix.python-version }}
# The type of runner that the job will run on
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-latest', 'macos-latest']
python-version: ['3.9', '3.12']
steps:
# Get number of cpu available on the current runner
- name: Get core number on linux
if: matrix.os == 'ubuntu-latest'
run: |
nb_cpu_linux=`nproc`
echo "Number of cores avalaible on the current linux runner $nb_cpu_linux"
echo "NUM_CPUS=$nb_cpu_linux" >> "$GITHUB_ENV"
- name: Get core number on macos
if: matrix.os == 'macos-latest'
run: |
nb_cpu_macos=`sysctl -n hw.ncpu`
echo "Number of cores avalaible on the current macos runner $nb_cpu_macos"
echo "NUM_CPUS=$nb_cpu_macos" >> "$GITHUB_ENV"
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v4
# Install requirements with miniconda
- uses: conda-incubator/setup-miniconda@v3
with:
python-version: ${{ matrix.python-version }}
channels: conda-forge,bioconda,defaults
environment-file: ppanggolin_env.yaml
activate-environment: ppanggolin
- name: Install ppanggolin
shell: bash -l {0}
run: |
pip install .[test]
mmseqs version
# Check that it is installed and displays help without error
- name: Check that PPanGGOLiN is installed
shell: bash -l {0}
run: |
ppanggolin --version
ppanggolin --help
# Check that unit tests are all passing
- name: Unit and functional tests
shell: bash -l {0}
run: pytest --full --cov=ppanggolin --cov-report=term --cpu $NUM_CPUS
- name: Archive diff files
uses: actions/upload-artifact@v4
with:
name: comparison-results_${{ matrix.os }}_python${{ matrix.python-version }}
path: testingDataset/info_to_test/*