dhatribadri is testing snakemake workflow 🚀 #42
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: Test QCD Pipeline | |
run-name: ${{ github.actor }} is testing snakemake workflow 🚀 | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
branches: | |
- main | |
jobs: | |
Test-QCD-Pipeline: | |
runs-on: ubuntu-latest | |
steps: | |
# - run: echo "🎉 The job was automatically triggered by a ${{ github.event_name }} event." | |
# - run: echo "🐧 This job is now running on a ${{ runner.os }} server hosted by GitHub!" | |
# - run: echo "🔎 The name of your branch is ${{ github.ref }} and your repository is ${{ github.repository }}." | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- run: echo "💡 The ${{ github.repository }} repository has been cloned to the runner." | |
- run: echo "🖥️ The workflow is now ready to test your code on the runner." | |
- name: Set up sysctl for unprivileged user namespaces | |
run: | | |
sudo sh -c 'echo kernel.unprivileged_userns_clone=1 > /etc/sysctl.d/90-unprivileged_userns.conf' | |
sudo sysctl -p /etc/sysctl.d/90-unprivileged_userns.conf | |
# Set up Dropbox CLI | |
# - name: Set up Dropbox CLI | |
# # run: | | |
# # curl -L https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2020.03.04_amd64.deb -o dropbox.deb | |
# # sudo dpkg -i dropbox.deb | |
# # sudo apt-get install -f | |
# # - name: Install Dropbox CLI | |
# run: | | |
# sudo apt-get update | |
# sudo apt-get install -y \ | |
# libpango1.0-0 \ | |
# gir1.2-gtk-3.0 \ | |
# gir1.2-pango-1.0 | |
# curl -L https://www.dropbox.com/download?dl=packages/ubuntu/dropbox_2020.03.04_amd64.deb -o dropbox.deb | |
# sudo dpkg -i dropbox.deb | |
# sudo apt-get install -f -y | |
# - name: Locate Dropbox CLI | |
# run: | | |
# sudo find / -name "dropbox-cli" || echo "Dropbox CLI not found" | |
# - name: SSh into Actions | |
# uses: actions/checkout@v4 | |
# - name: Setup tmate session | |
# uses: mxschmitt/action-tmate@v3 | |
# - name: Authenticate with Dropbox | |
# run: | | |
# export DROPBOX_TOKEN=${{ secrets.DROPBOX_TOKEN }} | |
# dropbox start -i | |
# dropbox login $DROPBOX_TOKEN | |
- name: List files in the repository | |
run: | | |
ls | |
- name: Get working directory | |
run: | | |
pwd | |
- name: Set up Miniconda | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
python-version: '3.10' | |
auto-update-conda: true | |
activate-environment: 'qcd_env_test' | |
environment-file: 'qcd_environment.yaml' | |
use-channel-priority: true | |
- name: Install singularity | |
uses: eWaterCycle/setup-singularity@v7 | |
with: | |
singularity-version: 3.8.3 | |
- name: Install pip dependencies | |
run: | | |
source $CONDA/bin/activate | |
conda activate qcd_env_test | |
pip install --requirement .test/requirements.txt | |
pip install dropbox | |
pip install --upgrade tabulate | |
pip install --upgrade snakemake | |
# # Debugging step: Print environment variables | |
# - name: Print environment variables | |
# run: printenv | |
# Download FASTQ files from Dropbox | |
- name: Download FASTQ files from Dropbox and copy it to local path | |
env: | |
DROPBOX_ACCESS_TOKEN: ${{ secrets.DROPBOX_ACCESS_TOKEN }} | |
run: | | |
source $CONDA/bin/activate | |
conda activate qcd_env_test | |
export DROPBOX_ACCESS_TOKEN=${DROPBOX_ACCESS_TOKEN} | |
python3 download_fastqs.py | |
# - name: SSh into Actions | |
# uses: actions/checkout@v4 | |
# - name: Setup tmate session | |
# uses: mxschmitt/action-tmate@v3 | |
- name: Create necessary directories | |
run: | | |
mkdir -p results/2024-12-04_Project_Test_QCD_Pipeline/quality_raw | |
mkdir -p results/2024-12-04_Project_Test_QCD_Pipeline/trimmomatic | |
mkdir -p results/2024-12-04_Project_Test_QCD_Pipeline/raw_coverage | |
- name: Snakemake workflow | |
# run: | | |
# snakemake -s QCD.smk -p --use-conda --use-singularity -j 999 --conda-frontend conda --cluster-config config/cluster.json --configfile config/config.yaml --latency-wait 1000 --cores 4 | |
uses: snakemake/[email protected] | |
with: | |
directory: '.' | |
snakefile: 'QCD.smk' | |
args: '--cores 4 --use-conda --use-singularity --use-envmodules --conda-cleanup-pkgs cache -j 999 --conda-frontend conda --configfile .test/config/config.yaml --latency-wait 1000' | |
#run: echo "🍏 This job's status is ${{ job.status }}." |