Commit f48afa99 authored by Thomas Van Parys's avatar Thomas Van Parys
Browse files

Allow a storage location and process specific store_ parameters (fixes #38)

parent 63438268
......@@ -90,6 +90,12 @@ activate_venv = """
set -eu
"""
if (!params.storage_path){
storage_path = "$workflow.projectDir/storage"
} else {
storage_path = "$params.storage_path"
}
// Pipeline name must be alphanumeric
assert params.name =~ /[a-zA-Z0-9_]+/
......@@ -357,7 +363,10 @@ process allVsAllProteomes {
tag "$hitsName"
publishDir "${params.output}/proteome_blast_all_vs_all", mode: 'copy'
//storeDir "${params.storage}/proteome_blast_all_vs_all"
if (params.storage_blast){
storeDir "$storage_path/$params.storage_blast"
}
input:
set file(fasta), database, databaseName, hitsName, speciesName, databaseSpeciesName from allVsAllInput
......@@ -457,7 +466,10 @@ process ips {
module 'iprscan' // known stable iprscan/x86_64/5.22-61 . TODO old comment: the newer version crashed with stack trace due to a dependency problem (may have been fixed by now)
// this version is stable, newer versions caused all sorts of errors. TODO old comment: the newer version crashed with stack trace due to a dependency problem (may have been fixed by now)
publishDir "${params.output}/interproscan", mode: 'copy'
//storeDir "${params.storage}/interproscan"
if (params.storage_interproscan){
storeDir "$storage_path/$params.storage_interproscan"
}
tag "$species"
cpus 8
......
......@@ -69,14 +69,31 @@ params.venv_home = ''
/*
* Storage can be used to permanently store intermediate data that
* can be re-used over different runs (eg. interpro scan)
* can be re-used over different runs (eg. interproscan)
*
* It uses the Cedalion id's and will simply skip a process when the
* exact output filename is found in storage.
*
* It will NOT check if input or process has changed!
*/
params.storage = 'storage'
/*
* Absolute path to permanent storage folder.
* When empty, this defaults to `storage` under the project dir.
*/
params.storage_path = ''
/*
* Storage subfolder to retrieve stored data from
*
* To avoid unknowingly re-using obsolete output, it's
* recommended to keep these values empty and set them
* only on the commandline as eg. `--storage_interproscan ips`
*/
params.storage_interproscan = ""
params.storage_blast = ""
///////////////////////////////////////////////////////////////////////////////
// Executor and per-process configuration
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment