forked from nf-core/sarek
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathprepare_recalibration_csv.nf
More file actions
39 lines (37 loc) · 2.2 KB
/
prepare_recalibration_csv.nf
File metadata and controls
39 lines (37 loc) · 2.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//
// PREPARE_RECALIBRATION_CSV
//
workflow PREPARE_RECALIBRATION_CSV {
take:
cram_table_bqsr // channel: [mandatory] meta, cram, crai, table
skip_tools
main:
// Creating csv files to restart from this step
if (!(skip_tools && (skip_tools.split(',').contains('markduplicates')))) {
cram_table_bqsr.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${params.outdir}/csv") { meta, cram, crai, table ->
patient = meta.patient
sample = meta.sample
sex = meta.sex
status = meta.status
suffix_aligned = params.save_output_as_bam ? "bam" : "cram"
suffix_index = params.save_output_as_bam ? "bam.bai" : "cram.crai"
cram = "${params.outdir}/preprocessing/${sample}/markduplicates/${cram.baseName}.${suffix_aligned}"
crai = "${params.outdir}/preprocessing/${sample}/markduplicates/${crai.baseName.minus(".cram")}.${suffix_index}"
table = "${params.outdir}/preprocessing/${sample}/recal_table/${sample}.recal.table"
["markduplicates.csv", "patient,sex,status,sample,cram,crai,table\n${patient},${sex},${status},${sample},${cram},${crai},${table}\n"]
}
} else {
cram_table_bqsr.collectFile(keepHeader: true, skip: 1, sort: true, storeDir: "${params.outdir}/csv") { meta, cram, crai, table ->
patient = meta.patient
sample = meta.sample
sex = meta.sex
status = meta.status
suffix_aligned = params.save_output_as_bam ? "bam" : "cram"
suffix_index = params.save_output_as_bam ? "bam.bai" : "cram.crai"
cram = "${params.outdir}/preprocessing/${sample}/mapped/${cram.baseName}.${suffix_aligned}"
crai = "${params.outdir}/preprocessing/${sample}/mapped/${crai.baseName.minus(".cram")}.${suffix_index}"
table = "${params.outdir}/preprocessing/${sample}/recal_table/${sample}.recal.table"
["sorted.csv", "patient,sex,status,sample,cram,crai,table\n${patient},${sex},${status},${sample},${cram},${crai},${table}\n"]
}
}
}