2021-05-25 17:10:48 -04:00
|
|
|
#!/usr/bin/env nextflow
|
|
|
|
|
|
|
|
nextflow.enable.dsl = 2
|
|
|
|
|
2021-07-07 05:10:18 -04:00
|
|
|
include { UNTAR } from '../../../../modules/untar/main.nf' addParams( options: [:] )
|
|
|
|
include { LAST_LASTAL } from '../../../../modules/last/lastal/main.nf' addParams( options: [:] )
|
2021-05-25 17:10:48 -04:00
|
|
|
|
|
|
|
workflow test_last_lastal_with_dummy_param_file {
|
|
|
|
|
|
|
|
input = [ [ id:'contigs', single_end:false ], // meta map
|
Input a triple (id, fasta, params) to last/lastal (#563)
The `last/lastal` submodule takes query sequences to align to a target
index, and optionally takes one set of alignment parameters (including a
score matrix) computed by the `last/train` module for each of the
sequences.
In the previous implementation the sequences and the alignment
parameters were provided in different channels, causing them to be
sometimes desynchronised.
In the patched implementation, `last/lastal` takes a 3-tuple as
input to ensure synchronicity. To produce this tuple in a pipeline,
one can use the `join` command as in the following example.
LAST_TRAIN ( query,
target )
LAST_LASTAL ( query.join(LAST_TRAIN.out.param_file),
target )
In case no parameter file is computed one can pass a dummy file
to the module as follows:
LAST_LASTAL ( query.map { row -> [ row[0], row[1], [] ] },
target )
2021-07-06 04:35:04 -04:00
|
|
|
file(params.test_data['sarscov2']['illumina']['contigs_fasta'], checkIfExists: true),
|
|
|
|
[] ]
|
2021-05-25 17:10:48 -04:00
|
|
|
db = [ file(params.test_data['sarscov2']['genome']['lastdb_tar_gz'], checkIfExists: true) ]
|
|
|
|
|
|
|
|
UNTAR ( db )
|
Input a triple (id, fasta, params) to last/lastal (#563)
The `last/lastal` submodule takes query sequences to align to a target
index, and optionally takes one set of alignment parameters (including a
score matrix) computed by the `last/train` module for each of the
sequences.
In the previous implementation the sequences and the alignment
parameters were provided in different channels, causing them to be
sometimes desynchronised.
In the patched implementation, `last/lastal` takes a 3-tuple as
input to ensure synchronicity. To produce this tuple in a pipeline,
one can use the `join` command as in the following example.
LAST_TRAIN ( query,
target )
LAST_LASTAL ( query.join(LAST_TRAIN.out.param_file),
target )
In case no parameter file is computed one can pass a dummy file
to the module as follows:
LAST_LASTAL ( query.map { row -> [ row[0], row[1], [] ] },
target )
2021-07-06 04:35:04 -04:00
|
|
|
LAST_LASTAL ( input, UNTAR.out.untar)
|
2021-05-25 17:10:48 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
workflow test_last_lastal_with_real_param_file {
|
|
|
|
|
|
|
|
input = [ [ id:'contigs', single_end:false ], // meta map
|
Input a triple (id, fasta, params) to last/lastal (#563)
The `last/lastal` submodule takes query sequences to align to a target
index, and optionally takes one set of alignment parameters (including a
score matrix) computed by the `last/train` module for each of the
sequences.
In the previous implementation the sequences and the alignment
parameters were provided in different channels, causing them to be
sometimes desynchronised.
In the patched implementation, `last/lastal` takes a 3-tuple as
input to ensure synchronicity. To produce this tuple in a pipeline,
one can use the `join` command as in the following example.
LAST_TRAIN ( query,
target )
LAST_LASTAL ( query.join(LAST_TRAIN.out.param_file),
target )
In case no parameter file is computed one can pass a dummy file
to the module as follows:
LAST_LASTAL ( query.map { row -> [ row[0], row[1], [] ] },
target )
2021-07-06 04:35:04 -04:00
|
|
|
file(params.test_data['sarscov2']['illumina']['contigs_fasta'], checkIfExists: true),
|
|
|
|
file(params.test_data['sarscov2']['genome']['contigs_genome_par'], checkIfExists: true) ]
|
2021-05-25 17:10:48 -04:00
|
|
|
db = [ file(params.test_data['sarscov2']['genome']['lastdb_tar_gz'], checkIfExists: true) ]
|
|
|
|
|
|
|
|
UNTAR ( db )
|
Input a triple (id, fasta, params) to last/lastal (#563)
The `last/lastal` submodule takes query sequences to align to a target
index, and optionally takes one set of alignment parameters (including a
score matrix) computed by the `last/train` module for each of the
sequences.
In the previous implementation the sequences and the alignment
parameters were provided in different channels, causing them to be
sometimes desynchronised.
In the patched implementation, `last/lastal` takes a 3-tuple as
input to ensure synchronicity. To produce this tuple in a pipeline,
one can use the `join` command as in the following example.
LAST_TRAIN ( query,
target )
LAST_LASTAL ( query.join(LAST_TRAIN.out.param_file),
target )
In case no parameter file is computed one can pass a dummy file
to the module as follows:
LAST_LASTAL ( query.map { row -> [ row[0], row[1], [] ] },
target )
2021-07-06 04:35:04 -04:00
|
|
|
LAST_LASTAL ( input, UNTAR.out.untar)
|
2021-05-25 17:10:48 -04:00
|
|
|
}
|