Skip to content

Commit

Permalink
add basic GitHub action testing
Browse files Browse the repository at this point in the history
  • Loading branch information
mriffle committed Aug 1, 2024
1 parent faf4fbb commit 3acdc02
Show file tree
Hide file tree
Showing 13 changed files with 391 additions and 114 deletions.
31 changes: 31 additions & 0 deletions .github/workflows/push-stub-run.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Nextflow Stub Run

on:
push:
branches: [ main ]
pull_request:
branches: [ '**' ]

jobs:
stub-run:
runs-on: ubuntu-latest
strategy:
matrix:
config: [
'test-diann.config',
'test-encyclopedia-narrow-gpf.config',
'test-encyclopedia-wide-only.config'
]

steps:
- name: Checkout repository
uses: actions/checkout@v2

- name: Run (${{ matrix.config }})
run: |
echo "Installing Nextflow:"
curl -s https://get.nextflow.io | bash
chmod +x nextflow
echo "Running Nextflow stub with config: ${{ matrix.config }}"
./nextflow secrets set PANORAMA_API_KEY "PLACEHOLDER"
./nextflow run . -stub-run -c test-resources/${{ matrix.config }}
114 changes: 0 additions & 114 deletions resources/pipeline.config
Original file line number Diff line number Diff line change
@@ -1,114 +0,0 @@
//
// A sample pipeline.config for running the TEI-REX DIA Nextflow workflow.
//
// See https://nf-skyline-dia-ms.readthedocs.io/en/latest/workflow_options.html
// for a complete description of all parameters.
//
// Send questions, comments, ideas, bug reports, etc, to:
// Michael Riffle <[email protected]>
//

// params will need changed per workflow run
params {

// the data to be processed.

// note: files and directories may specify a local file or a PanoramaWeb WebDAV directory/file
// Example local file:
// spectral_library = '/path/to/file.dlib'
//
// Example PanoramaWeb WebDAV location:
// spectral_library = 'https://panoramaweb.org/_webdav/DIRECTORY/RawFiles/file.dlib'

// the data to be quantified (e.g., wide window data)
quant_spectra_dir = '/path/to/wide_window_data'

// which files in this directory to use, default: all raw files
//quant_spectra_glob = '*.raw'

// Optional: the data to be used to generate a chromatogram library (elib)
// if missing the chromatogram library step will be skipped
chromatogram_library_spectra_dir = '/path/to/narrow_window_data'

// which files in this directory to use, default: all raw files
//chromatogram_library_spectra_glob = '*.raw'

// spectral library used for searching
spectral_library = '/path/to/file.dlib'

// the background FASTA file
fasta = '/path/to/file.fasta'

// options for msconvert
msconvert.do_demultiplex = true; // whether or not to demultiplex with msconvert
msconvert.do_simasspectra = true; // whether or not to do simAsSpectra with msconvert

// default parameters for Encyclopedia searches, can be overridden
encyclopedia.chromatogram.params = '-enableAdvancedOptions -v2scoring'
encyclopedia.quant.params = '-enableAdvancedOptions -v2scoring'

// whether or not to save the output from encyclopedia running on individual raw/mzML
// files (e.g. .dia or .features.txt files) to the results directory
// the generated chromatogram library (elib) will always be saved, regardless of this setting
encyclopedia.save_output = false

// Optional: the skyline template file used to create final skyline document
// if missing, commented out, or set to null, a default document will be used
//skyline_template_file = './template.sky.zip'

// replicate metadata
// Can be in csv or tsv format.
// Each row in the file represents a replicate.
// The first column should have the heading 'Replicate' and the values in the column should
// match the raw file base names. There should be an additional column for each metadata
// variable. The column header is the name of the variable and the values in the column are
// the annotations corresponding to each replicate.
replicate_metadata = null

// Skip QC report generation
qc_report.skip = false

// List of protein names to plot retention times for
qc_report.standard_proteins = null

// List of metadata variables to color PCA plots by
qc_report.color_vars = null

// Export matrices of normalized precursor and protein quantities?
qc_report.export_tables = false

// receive email when done at this address
// note: the email config at the end of this file must be set up for this to work
// if commented out (default), no attempt to send email will be made
//email = '[email protected]'
}

// if running jobs locally change these to match system capabilities
profiles {

// "standard" is the profile used when the steps of the workflow are run
// locally on your computer. These parameters should be changed to match
// your system resources (that you are willing to devote to running
// workflow jobs).
standard {
params.max_memory = '8.GB'
params.max_cpus = 4
params.max_time = '240.h'

params.mzml_cache_directory = '/data/mass_spec/nextflow/nf-skyline-dia-ms/mzml_cache'
params.panorama_cache_directory = '/data/mass_spec/nextflow/panorama/raw_cache'
}
}

// advanced config: change settings to match your email provider to send emails
mail {
from = '[email protected]'
smtp.host = 'smtp.host.com'
smtp.port = 587
smtp.user = 'smpt_user'
smtp.password = 'smtp_password'
smtp.auth = true
smtp.starttls.enable = true
smtp.starttls.required = false
mail.smtp.ssl.protocols = 'TLSv1.2'
}
1 change: 1 addition & 0 deletions test-resources/narrow-window/test_wide1.raw
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dummy raw file
1 change: 1 addition & 0 deletions test-resources/narrow-window/test_wide2.raw
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
dummy raw file
117 changes: 117 additions & 0 deletions test-resources/test-diann.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
//
// A sample pipeline.config for running the TEI-REX DIA Nextflow workflow.
//
// See https://nf-skyline-dia-ms.readthedocs.io/en/latest/workflow_options.html
// for a complete description of all parameters.
//
// Send questions, comments, ideas, bug reports, etc, to:
// Michael Riffle <[email protected]>
//

// params will need changed per workflow run
params {

// the data to be processed.

// note: files and directories may specify a local file or a PanoramaWeb WebDAV directory/file
// Example local file:
// spectral_library = '/path/to/file.dlib'
//
// Example PanoramaWeb WebDAV location:
// spectral_library = 'https://panoramaweb.org/_webdav/DIRECTORY/RawFiles/file.dlib'

// the search engine to use
search_engine = 'diann'

// the data to be quantified (e.g., wide window data)
quant_spectra_dir = 'test-resources/wide-window'

// which files in this directory to use, default: all raw files
quant_spectra_glob = '*.raw'

// Optional: the data to be used to generate a chromatogram library (elib)
// if missing the chromatogram library step will be skipped
//chromatogram_library_spectra_dir = '/path/to/narrow_window_data'

// which files in this directory to use, default: all raw files
//chromatogram_library_spectra_glob = '*.raw'

// spectral library used for searching
//spectral_library = '/path/to/file.dlib'

// the background FASTA file
fasta = 'test-resources/test.fasta'

// options for msconvert
msconvert.do_demultiplex = true; // whether or not to demultiplex with msconvert
msconvert.do_simasspectra = true; // whether or not to do simAsSpectra with msconvert

// default parameters for Encyclopedia searches, can be overridden
encyclopedia.chromatogram.params = '-enableAdvancedOptions -v2scoring'
encyclopedia.quant.params = '-enableAdvancedOptions -v2scoring'

// whether or not to save the output from encyclopedia running on individual raw/mzML
// files (e.g. .dia or .features.txt files) to the results directory
// the generated chromatogram library (elib) will always be saved, regardless of this setting
encyclopedia.save_output = false

// Optional: the skyline template file used to create final skyline document
// if missing, commented out, or set to null, a default document will be used
//skyline_template_file = './template.sky.zip'

// replicate metadata
// Can be in csv or tsv format.
// Each row in the file represents a replicate.
// The first column should have the heading 'Replicate' and the values in the column should
// match the raw file base names. There should be an additional column for each metadata
// variable. The column header is the name of the variable and the values in the column are
// the annotations corresponding to each replicate.
replicate_metadata = null

// Skip QC report generation
qc_report.skip = false

// List of protein names to plot retention times for
qc_report.standard_proteins = null

// List of metadata variables to color PCA plots by
qc_report.color_vars = null

// Export matrices of normalized precursor and protein quantities?
qc_report.export_tables = false

// receive email when done at this address
// note: the email config at the end of this file must be set up for this to work
// if commented out (default), no attempt to send email will be made
//email = '[email protected]'
}

// if running jobs locally change these to match system capabilities
profiles {

// "standard" is the profile used when the steps of the workflow are run
// locally on your computer. These parameters should be changed to match
// your system resources (that you are willing to devote to running
// workflow jobs).
standard {
params.max_memory = '8.GB'
params.max_cpus = 4
params.max_time = '1.h'

params.mzml_cache_directory = './mzml_cache'
params.panorama_cache_directory = './raw_cache'
}
}

// advanced config: change settings to match your email provider to send emails
mail {
from = '[email protected]'
smtp.host = 'smtp.host.com'
smtp.port = 587
smtp.user = 'smpt_user'
smtp.password = 'smtp_password'
smtp.auth = true
smtp.starttls.enable = true
smtp.starttls.required = false
mail.smtp.ssl.protocols = 'TLSv1.2'
}
117 changes: 117 additions & 0 deletions test-resources/test-encyclopedia-narrow-gpf.config
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
//
// A sample pipeline.config for running the TEI-REX DIA Nextflow workflow.
//
// See https://nf-skyline-dia-ms.readthedocs.io/en/latest/workflow_options.html
// for a complete description of all parameters.
//
// Send questions, comments, ideas, bug reports, etc, to:
// Michael Riffle <[email protected]>
//

// params will need changed per workflow run
params {

// the data to be processed.

// note: files and directories may specify a local file or a PanoramaWeb WebDAV directory/file
// Example local file:
// spectral_library = '/path/to/file.dlib'
//
// Example PanoramaWeb WebDAV location:
// spectral_library = 'https://panoramaweb.org/_webdav/DIRECTORY/RawFiles/file.dlib'

// the search engine to use
search_engine = 'encyclopedia'

// the data to be quantified (e.g., wide window data)
quant_spectra_dir = 'test-resources/wide-window'

// which files in this directory to use, default: all raw files
quant_spectra_glob = '*.raw'

// Optional: the data to be used to generate a chromatogram library (elib)
// if missing the chromatogram library step will be skipped
chromatogram_library_spectra_dir = 'test-resources/narrow-window'

// which files in this directory to use, default: all raw files
chromatogram_library_spectra_glob = '*.raw'

// spectral library used for searching
spectral_library = 'test-resources/test.dlib'

// the background FASTA file
fasta = 'test-resources/test.fasta'

// options for msconvert
msconvert.do_demultiplex = true; // whether or not to demultiplex with msconvert
msconvert.do_simasspectra = true; // whether or not to do simAsSpectra with msconvert

// default parameters for Encyclopedia searches, can be overridden
encyclopedia.chromatogram.params = '-enableAdvancedOptions -v2scoring'
encyclopedia.quant.params = '-enableAdvancedOptions -v2scoring'

// whether or not to save the output from encyclopedia running on individual raw/mzML
// files (e.g. .dia or .features.txt files) to the results directory
// the generated chromatogram library (elib) will always be saved, regardless of this setting
encyclopedia.save_output = false

// Optional: the skyline template file used to create final skyline document
// if missing, commented out, or set to null, a default document will be used
//skyline_template_file = './template.sky.zip'

// replicate metadata
// Can be in csv or tsv format.
// Each row in the file represents a replicate.
// The first column should have the heading 'Replicate' and the values in the column should
// match the raw file base names. There should be an additional column for each metadata
// variable. The column header is the name of the variable and the values in the column are
// the annotations corresponding to each replicate.
replicate_metadata = null

// Skip QC report generation
qc_report.skip = false

// List of protein names to plot retention times for
qc_report.standard_proteins = null

// List of metadata variables to color PCA plots by
qc_report.color_vars = null

// Export matrices of normalized precursor and protein quantities?
qc_report.export_tables = false

// receive email when done at this address
// note: the email config at the end of this file must be set up for this to work
// if commented out (default), no attempt to send email will be made
//email = '[email protected]'
}

// if running jobs locally change these to match system capabilities
profiles {

// "standard" is the profile used when the steps of the workflow are run
// locally on your computer. These parameters should be changed to match
// your system resources (that you are willing to devote to running
// workflow jobs).
standard {
params.max_memory = '8.GB'
params.max_cpus = 4
params.max_time = '1.h'

params.mzml_cache_directory = './mzml_cache'
params.panorama_cache_directory = './raw_cache'
}
}

// advanced config: change settings to match your email provider to send emails
mail {
from = '[email protected]'
smtp.host = 'smtp.host.com'
smtp.port = 587
smtp.user = 'smpt_user'
smtp.password = 'smtp_password'
smtp.auth = true
smtp.starttls.enable = true
smtp.starttls.required = false
mail.smtp.ssl.protocols = 'TLSv1.2'
}
Loading

0 comments on commit 3acdc02

Please sign in to comment.