forked from nf-core/sarek
-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathmapping_csv.nf
More file actions
42 lines (39 loc) · 2.33 KB
/
mapping_csv.nf
File metadata and controls
42 lines (39 loc) · 2.33 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
40
41
42
/*
========================================================================================
MAPPING_CSV
========================================================================================
*/
workflow MAPPING_CSV {
take:
bam_indexed // channel: [mandatory] meta, bam, bai
save_bam_mapped // boolean: [mandatory] save_bam_mapped
skip_markduplicates // boolean: [mandatory] skip_markduplicates
main:
if (save_bam_mapped) {
csv_bam_mapped = bam_indexed.map { meta, bam, bai -> [meta] }
// Creating csv files to restart from this step
csv_bam_mapped.collectFile(storeDir: "${params.outdir}/preprocessing/csv") { meta ->
patient = meta.patient[0]
sample = meta.sample[0]
gender = meta.gender[0]
status = meta.status[0]
bam = "${params.outdir}/preprocessing/${sample}/mapped/${sample}.bam"
bai = "${params.outdir}/preprocessing/${sample}/mapped/${sample}.bam.bai"
["mapped_${sample}.csv", "patient,gender,status,sample,bam,bai\n${patient},${gender},${status},${sample},${bam},${bai}\n"]
}.collectFile(name: "mapped.csv", keepHeader: true, skip: 1, sort: true, storeDir: "${params.outdir}/preprocessing/csv")
}
if (skip_markduplicates) {
csv_bam_mapped = bam_indexed.map { meta, bam, bai -> [meta] }
// Creating csv files to restart from this step
csv_bam_mapped.collectFile(storeDir: "${params.outdir}/preprocessing/csv") { meta ->
patient = meta.patient[0]
sample = meta.sample[0]
gender = meta.gender[0]
status = meta.status[0]
bam = "${params.outdir}/preprocessing/${sample}/mapped/${sample}.bam"
bai = "${params.outdir}/preprocessing/${sample}/mapped/${sample}.bam.bai"
table = "${params.outdir}/preprocessing/${sample}/recal_table/${sample}.recal.table"
["mapped_no_markduplicates_${sample}.csv", "patient,gender,status,sample,bam,bai,table\n${patient},${gender},${status},${sample},${bam},${bai},${table}\n"]
}.collectFile(name: 'mapped_no_markduplicates.csv', keepHeader: true, skip: 1, sort: true, storeDir: "${params.outdir}/preprocessing/csv")
}
}