Skip to content

dhatribadri is testing snakemake workflow 🚀 #42

dhatribadri is testing snakemake workflow 🚀

dhatribadri is testing snakemake workflow 🚀 #42

Workflow file for this run

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 }}."