1
+ apiVersion : argoproj.io/v1alpha1
2
+ kind : Workflow
3
+ metadata :
4
+ generateName : bwa-oss-
5
+ spec :
6
+ entrypoint : bwa-oss
7
+ arguments :
8
+ parameters :
9
+ - name : fastqFolder # download fastq file
10
+ value : /gene
11
+ - name : reference # reference genome file.
12
+ value : https://ags-public.oss-cn-beijing.aliyuncs.com/alignment/subset_assembly.fa.gz
13
+ - name : fastq1 # Raw sequencing file
14
+ value : https://ags-public.oss-cn-beijing.aliyuncs.com/alignment/SRR1976948_1.fastq.gz
15
+ - name : fastq2
16
+ value : https://ags-public.oss-cn-beijing.aliyuncs.com/alignment/SRR1976948_2.fastq.gz
17
+
18
+
19
+ volumes : # mount a remote storage volume
20
+ - name : ossdir
21
+ persistentVolumeClaim :
22
+ claimName : pvc-oss
23
+
24
+ templates :
25
+ - name : bwaprepare # data preparation phase, download and unzip the FASTQ and reference files, and then index the reference file.
26
+ container :
27
+ image : registry.cn-beijing.aliyuncs.com/geno/alltools:v0.2
28
+ imagePullPolicy : Always
29
+ command : [sh,-c]
30
+ args :
31
+ - mkdir -p /bwa{{workflow.parameters.fastqFolder}}; cd /bwa{{workflow.parameters.fastqFolder}}; rm -rf SRR1976948*;
32
+ wget {{workflow.parameters.reference}};
33
+ wget {{workflow.parameters.fastq1}};
34
+ wget {{workflow.parameters.fastq2}};
35
+ gzip -d subset_assembly.fa.gz;
36
+ gunzip -c SRR1976948_1.fastq.gz | head -800000 > SRR1976948.1;
37
+ gunzip -c SRR1976948_2.fastq.gz | head -800000 > SRR1976948.2;
38
+ bwa index subset_assembly.fa;
39
+
40
+ volumeMounts :
41
+ - name : ossdir
42
+ mountPath : /bwa
43
+ retryStrategy :
44
+ limit : 3
45
+
46
+ - name : bwamap # Align the sequencing data against the reference file
47
+ inputs :
48
+ parameters :
49
+ - name : object
50
+ container :
51
+ image : registry.cn-beijing.aliyuncs.com/geno/alltools:v0.2
52
+ imagePullPolicy : Always
53
+ command :
54
+ - sh
55
+ - -c
56
+ args :
57
+ - cd /bwa{{workflow.parameters.fastqFolder}};
58
+ bwa aln subset_assembly.fa {{inputs.parameters.object}} > {{inputs.parameters.object}}.untrimmed.sai;
59
+ volumeMounts :
60
+ - name : ossdir
61
+ mountPath : /bwa
62
+ retryStrategy :
63
+ limit : 3
64
+
65
+ - name : bwaindex # Map raw sequencing data to the reference, generate, sort, and index the BAM file, and then review the alignment results.
66
+ container :
67
+ args :
68
+ - cd /bwa{{workflow.parameters.fastqFolder}};
69
+ bwa sampe subset_assembly.fa SRR1976948.1.untrimmed.sai SRR1976948.2.untrimmed.sai SRR1976948.1 SRR1976948.2 > SRR1976948.untrimmed.sam;
70
+ samtools import subset_assembly.fa SRR1976948.untrimmed.sam SRR1976948.untrimmed.sam.bam;
71
+ samtools sort SRR1976948.untrimmed.sam.bam -o SRR1976948.untrimmed.sam.bam.sorted.bam;
72
+ samtools index SRR1976948.untrimmed.sam.bam.sorted.bam;
73
+ samtools tview SRR1976948.untrimmed.sam.bam.sorted.bam subset_assembly.fa -p k99_13588:1000 -d T;
74
+ command :
75
+ - sh
76
+ - -c
77
+ image : registry.cn-beijing.aliyuncs.com/geno/alltools:v0.2
78
+ imagePullPolicy : Always
79
+ volumeMounts :
80
+ - mountPath : /bwa/
81
+ name : ossdir
82
+ retryStrategy :
83
+ limit : 3
84
+
85
+ - name : bwa-oss # orchestrate multiple steps
86
+ dag :
87
+ tasks :
88
+ - name : bwaprepare # preparing data
89
+ template : bwaprepare
90
+
91
+ - name : bwamap # preprocessing and generating alignment results
92
+ template : bwamap
93
+ dependencies : [bwaprepare] # depends on step of preparing data
94
+ arguments :
95
+ parameters :
96
+ - name : object
97
+ value : " {{item}}"
98
+ withItems : ["SRR1976948.1","SRR1976948.2"] # processing multiple files in parrellel
99
+ - name : bwaindex # Compare and show alignment result
100
+ template : bwaindex
101
+ dependencies : [bwamap] # depends on preprocessing
0 commit comments