diff --git a/.github/workflows/assemblies.yaml b/.github/workflows/assemblies.yaml new file mode 100644 index 00000000..c11fa92b --- /dev/null +++ b/.github/workflows/assemblies.yaml @@ -0,0 +1,173 @@ +name: MosaiCatcher assemblies checks + +on: + push: + branches: + - "**" + schedule: + - cron: "0 0 * * 0" + +jobs: + Testing-with-hg38: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + # - Testing-basic-with-slurm + steps: + - name: Checkout repository with submodules and LFS + uses: actions/checkout@v4 + with: + submodules: recursive + lfs: true + + - name: Pull LFS objects in submodules + run: git submodule foreach --recursive 'git lfs pull' + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --config reference=hg38 use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile + + Testing-with-hg19: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + # - Testing-basic-with-slurm + steps: + - name: Checkout repository with submodules and LFS + uses: actions/checkout@v4 + with: + submodules: recursive + lfs: true + + - name: Pull LFS objects in submodules + run: git submodule foreach --recursive 'git lfs pull' + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --config reference=hg19 use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile + + Testing-with-T2T: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + # - Testing-basic-with-slurm + steps: + - name: Checkout repository with submodules and LFS + uses: actions/checkout@v4 + with: + submodules: recursive + lfs: true + + - name: Pull LFS objects in submodules + run: git submodule foreach --recursive 'git lfs pull' + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --config reference=T2T use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile + + Testing-with-mm10: + runs-on: ubuntu-latest + needs: + - Formatting + - Linting + - Testing-basic-v7 + - Testing-basic-with-ashleys + # - Testing-basic-with-slurm + steps: + - name: Checkout repository with submodules and LFS + uses: actions/checkout@v4 + with: + submodules: recursive + lfs: true + + - name: Pull LFS objects in submodules + run: git submodule foreach --recursive 'git lfs pull' + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --use-conda --config reference=T2T use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile diff --git a/.github/workflows/main_test.yaml b/.github/workflows/main.yaml similarity index 59% rename from .github/workflows/main_test.yaml rename to .github/workflows/main.yaml index 40a6ba9b..769c50b0 100644 --- a/.github/workflows/main_test.yaml +++ b/.github/workflows/main.yaml @@ -4,7 +4,8 @@ on: push: branches: - "**" - + schedule: + - cron: "0 0 * * 0" jobs: Formatting: runs-on: ubuntu-latest @@ -112,56 +113,6 @@ jobs: snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml \ --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - Testing-basic-v8: - runs-on: ubuntu-latest - # needs: - # - Formatting - # - Linting - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - lfs: true - - - name: Pull LFS objects in submodules - run: git submodule foreach --recursive 'git lfs pull' - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: List contents of .tests - run: | - tree -h .tests - - - name: Show config file - run: | - cat .tests/config/simple_config_mosaicatcher.yaml - - - name: List contents of workflow/data - run: | - tree -h workflow/data - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake snakemake-storage-plugin-http - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --sdm conda --configfile .tests/config/simple_config_mosaicatcher.yaml \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - Testing-basic-with-ashleys: runs-on: ubuntu-latest # needs: @@ -371,167 +322,3 @@ jobs: run: | snakemake --cores 1 --use-conda --configfile .tests/config/simple_config_mosaicatcher.yaml --config whatshap_only=True \ --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-hg38: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - # - Testing-basic-with-slurm - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - lfs: true - - - name: Pull LFS objects in submodules - run: git submodule foreach --recursive 'git lfs pull' - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --config reference=hg38 use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-hg19: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - # - Testing-basic-with-slurm - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - lfs: true - - - name: Pull LFS objects in submodules - run: git submodule foreach --recursive 'git lfs pull' - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --config reference=hg19 use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-T2T: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - # - Testing-basic-with-slurm - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - lfs: true - - - name: Pull LFS objects in submodules - run: git submodule foreach --recursive 'git lfs pull' - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --config reference=T2T use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile - - Testing-with-mm10: - runs-on: ubuntu-latest - needs: - - Formatting - - Linting - - Testing-basic-v7 - - Testing-basic-with-ashleys - # - Testing-basic-with-slurm - steps: - - name: Checkout repository with submodules and LFS - uses: actions/checkout@v4 - with: - submodules: recursive - lfs: true - - - name: Pull LFS objects in submodules - run: git submodule foreach --recursive 'git lfs pull' - - - name: Setup Python - uses: actions/setup-python@v5 - with: - python-version: "3.12" - - - name: Add Conda to system path - run: echo "$CONDA/bin" >> $GITHUB_PATH - - - name: Install dependencies - run: conda install -c conda-forge mamba - - - name: Setup Snakemake - run: mamba install -c conda-forge -c bioconda snakemake==7.32.4 - - - name: List options of workflow - run: | - snakemake --cores 1 --config list_commands=True --verbose --debug - - - name: Run workflow - run: | - snakemake --cores 1 --use-conda --config reference=T2T use_light_data=True chromosomes=[chr17] ashleys_pipeline=True \ - --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile diff --git a/.github/workflows/main_v8.yaml b/.github/workflows/main_v8.yaml new file mode 100644 index 00000000..21146e15 --- /dev/null +++ b/.github/workflows/main_v8.yaml @@ -0,0 +1,59 @@ +name: MosaiCatcher basic checks with snakemake v8 + +on: + push: + branches: + - "**" + schedule: + - cron: "0 0 * * 0" + +jobs: + Testing-basic-v8: + runs-on: ubuntu-latest + # needs: + # - Formatting + # - Linting + steps: + - name: Checkout repository with submodules and LFS + uses: actions/checkout@v4 + with: + submodules: recursive + lfs: true + + - name: Pull LFS objects in submodules + run: git submodule foreach --recursive 'git lfs pull' + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: List contents of .tests + run: | + tree -h .tests + + - name: Show config file + run: | + cat .tests/config/simple_config_mosaicatcher.yaml + + - name: List contents of workflow/data + run: | + tree -h workflow/data + + - name: Add Conda to system path + run: echo "$CONDA/bin" >> $GITHUB_PATH + + - name: Install dependencies + run: conda install -c conda-forge mamba + + - name: Setup Snakemake + run: mamba install -c conda-forge -c bioconda snakemake snakemake-storage-plugin-http + + - name: List options of workflow + run: | + snakemake --cores 1 --config list_commands=True --verbose --debug + + - name: Run workflow + run: | + snakemake --cores 1 --sdm conda --configfile .tests/config/simple_config_mosaicatcher.yaml \ + --conda-frontend mamba -p --verbose --debug --snakefile workflow/Snakefile diff --git a/config/config.yaml b/config/config.yaml index 652aef52..6a25bcb9 100644 --- a/config/config.yaml +++ b/config/config.yaml @@ -43,6 +43,9 @@ ashleys_threshold: 0.5 # Enable or disable FastQC analysis MultiQC: False +# Enable or disable ashleys-qc automatic classification +bypass_ashleys: False + # -------------------------------------------------------- # Other modules # --------------------------------------------------------