Skip to content

Commit

Permalink
Add CI tests for NetMHC family tools
Browse files Browse the repository at this point in the history
  • Loading branch information
lkuchenb committed Jan 26, 2021
1 parent 1c40c27 commit ff434b5
Show file tree
Hide file tree
Showing 7 changed files with 160 additions and 0 deletions.
50 changes: 50 additions & 0 deletions .github/workflows/ci.yml
Expand Up @@ -89,3 +89,53 @@ jobs:
- name: Run pipeline with profile ${{ matrix.tests }}
run: |
nextflow run ${GITHUB_WORKSPACE} -profile ${{ matrix.tests }},docker
nonfree:
name: Run non-free tests
if: ${{ github.event_name != 'push' || (github.event_name == 'push' && github.repository == 'nf-core/epitopeprediction') }}
runs-on: ubuntu-latest
env:
NXF_VER: '20.04.0'
NXF_ANSI_LOG: false
steps:
- name: Check out pipeline code
uses: actions/checkout@v2

- name: Install non-free software
env:
DECRYPT_PASSPHRASE: ${{ secrets.TEST_NETMHC }}
run: |
mkdir -v non-free
curl -L https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/software/non-free-software.tar.gpg | ${GITHUB_WORKSPACE}/bin/decrypt | tar -C non-free -v -x
- name: Check if Dockerfile or Conda environment changed
uses: technote-space/get-diff-action@v4
with:
FILES: |
Dockerfile
environment.yml
- name: Build new docker image
if: env.MATCHED_FILES
run: docker build --no-cache . -t nfcore/epitopeprediction:dev

- name: Pull docker image
if: ${{ !env.MATCHED_FILES }}
run: |
docker pull nfcore/epitopeprediction:dev
docker tag nfcore/epitopeprediction:dev nfcore/epitopeprediction:dev
- name: Install Nextflow
run: |
wget -qO- get.nextflow.io | bash
sudo mv nextflow /usr/local/bin/
- name: Run pipeline with NetMHC
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_netmhc,docker
- name: Run pipeline with NetMHCII
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcii,docker
- name: Run pipeline with NetMHCpan
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_netmhcpan,docker
- name: Run pipeline with NetMHCIIpan
run: |
nextflow run ${GITHUB_WORKSPACE} -profile test_netmhciipan,docker
10 changes: 10 additions & 0 deletions bin/decrypt
@@ -0,0 +1,10 @@
#!/bin/sh
# Decrypts stdin -> stdout reading the passphrase from the environment variable
# DECRYPT_PASSPHRASE.
gpg \
--quiet \
--batch \
--yes \
--decrypt \
--passphrase="$DECRYPT_PASSPHRASE" \
--output -
24 changes: 24 additions & 0 deletions conf/test_netmhc.config
@@ -0,0 +1,24 @@
/*
* -------------------------------------------------
* Nextflow config file for running tests
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/epitopeprediction -profile test_netmhc,<docker/singularity>
*/

params {
config_profile_name = 'NetMHC Test Profile'
config_profile_description = 'Peptide list based test profile for NetMHC'

max_cpus = 2
max_memory = 6.GB
max_time = 48.h

// Input data
peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv'
alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt'

tools = 'netmhc'
netmhc_path = './non-free/netmhc.tar.gz'
}
24 changes: 24 additions & 0 deletions conf/test_netmhcii.config
@@ -0,0 +1,24 @@
/*
* -------------------------------------------------
* Nextflow config file for running tests
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/epitopeprediction -profile test_netmhcii,<docker/singularity>
*/

params {
config_profile_name = 'NetMHCII Test Profile'
config_profile_description = 'Peptide list based test profile for NetMHCII'

max_cpus = 2
max_memory = 6.GB
max_time = 48.h

// Input data
peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides_MHC_II.txt'
alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt'

tools = 'netmhcii'
netmhcii_path = './non-free/netmhcii.tar.Z'
}
24 changes: 24 additions & 0 deletions conf/test_netmhciipan.config
@@ -0,0 +1,24 @@
/*
* -------------------------------------------------
* Nextflow config file for running tests
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/epitopeprediction -profile test_netmhciipan,<docker/singularity>
*/

params {
config_profile_name = 'NetMHCIIpan Test Profile'
config_profile_description = 'Peptide list based test profile for NetMHCIIpan'

max_cpus = 2
max_memory = 6.GB
max_time = 48.h

// Input data
peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides_MHC_II.txt'
alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.DRB1_01_01.txt'

tools = 'netmhciipan'
netmhciipan_path = './non-free/netmhciipan.tar.gz'
}
24 changes: 24 additions & 0 deletions conf/test_netmhcpan.config
@@ -0,0 +1,24 @@
/*
* -------------------------------------------------
* Nextflow config file for running tests
* -------------------------------------------------
* Defines bundled input files and everything required
* to run a fast and simple test. Use as follows:
* nextflow run nf-core/epitopeprediction -profile test_netmhcpan,<docker/singularity>
*/

params {
config_profile_name = 'NetMHCpan Test Profile'
config_profile_description = 'Peptide list based test profile for NetMHCpan'

max_cpus = 2
max_memory = 6.GB
max_time = 48.h

// Input data
peptides = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/peptides/peptides.tsv'
alleles = 'https://raw.githubusercontent.com/nf-core/test-datasets/epitopeprediction/testdata/alleles/alleles.txt'

tools = 'netmhcpan'
netmhcpan_path = './non-free/netmhcpan.tar.gz'
}
4 changes: 4 additions & 0 deletions nextflow.config
Expand Up @@ -99,6 +99,10 @@ profiles {
test_proteins { includeConfig 'conf/test_proteins.config' }
test_mhcnuggets { includeConfig 'conf/test_mhcnuggets.config' }
test_mhcflurry { includeConfig 'conf/test_mhcflurry.config' }
test_netmhc { includeConfig 'conf/test_netmhc.config' }
test_netmhcii { includeConfig 'conf/test_netmhcii.config' }
test_netmhcpan { includeConfig 'conf/test_netmhcpan.config' }
test_netmhciipan { includeConfig 'conf/test_netmhciipan.config' }
test_full { includeConfig 'conf/test_full.config' }
}

Expand Down

0 comments on commit ff434b5

Please sign in to comment.