1
0
Fork 0
mirror of https://github.com/MillironX/taxprofiler.git synced 2024-11-13 07:33:08 +00:00

refactor: simplify DB validation

This commit is contained in:
Moritz E. Beber 2023-03-07 12:30:02 +01:00
parent 53db964bcf
commit c2ad421051

View file

@ -28,9 +28,9 @@ workflow DB_CHECK {
// Normal checks for within-row validity, so can be moved to separate functions
parsed_samplesheet = Channel.fromPath(dbsheet)
.splitCsv ( header:true, sep:',' )
.map {
validate_db_rows(it)
create_db_channels(it)
.map { row ->
validate_db_rows(row)
return [ row.subMap(['tool', 'db_name', 'db_params']), file(row.db_path) ]
}
ch_dbs_for_untar = parsed_samplesheet
@ -74,21 +74,7 @@ def validate_db_rows(LinkedHashMap row){
// check if any form of bracken params, that it must have `;`
if ( row.tool == 'bracken' && row.db_params && !row.db_params.contains(";") ) exit 1, "[nf-core/taxprofiler] ERROR: Invalid database db_params entry. Bracken requires a semi-colon if passing parameter. Error in: ${row}"
// ensure that the database directory exists
if (!file(row.db_path, type: 'dir').exists()) exit 1, "ERROR: Please check input samplesheet -> database path could not be found!\n${row.db_path}"
}
def create_db_channels(LinkedHashMap row) {
def meta = [:]
meta.tool = row.tool
meta.db_name = row.db_name
meta.db_params = row.db_params
def array = []
if (!file(row.db_path, type: 'dir').exists()) {
exit 1, "ERROR: Please check input samplesheet -> database path could not be found!\n${row.db_path}"
}
array = [ meta, file(row.db_path) ]
return array
}