Skip to content

Commit aa4acdc

Browse files
author
yuhui.zy
committed
gemo poc
1 parent cb75017 commit aa4acdc

File tree

2 files changed

+148
-0
lines changed

2 files changed

+148
-0
lines changed

genomics/workflow/pv-pvc-oss.yaml

+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: oss-secret
5+
namespace: default
6+
stringData:
7+
akId: <> # akId需要替换为您的AccessKey ID。
8+
akSecret: <> # akSecret需要替换为您的AccessKey Secret。
9+
---
10+
apiVersion: v1
11+
kind: PersistentVolume
12+
metadata:
13+
name: pv-oss
14+
labels:
15+
alicloud-pvname: pv-oss
16+
spec:
17+
capacity:
18+
storage: 5Gi
19+
accessModes:
20+
- ReadWriteMany
21+
persistentVolumeReclaimPolicy: Retain
22+
csi:
23+
driver: ossplugin.csi.alibabacloud.com
24+
volumeHandle: pv-oss # 需要和PV名字一致。
25+
nodePublishSecretRef:
26+
name: oss-secret
27+
namespace: default
28+
volumeAttributes:
29+
bucket: data-bucket-zjk # 需要替换为您的Bucket名称。
30+
url: "oss-cn-zhangjiakou-internal.aliyuncs.com" # 需要替换<your region id>为您OSS的地域ID,例如华北2(北京)地域为:oss-cn-beijing-internal.aliyuncs.com。
31+
otherOpts: "-o max_stat_cache_size=0 -o allow_other -o multipart_size=30 -o parallel_count=20"
32+
path: "/"
33+
---
34+
apiVersion: v1
35+
kind: PersistentVolumeClaim
36+
metadata:
37+
name: pvc-oss
38+
namespace: default
39+
spec:
40+
accessModes:
41+
- ReadWriteMany
42+
resources:
43+
requests:
44+
storage: 5Gi
45+
selector:
46+
matchLabels:
47+
alicloud-pvname: pv-oss

genomics/workflow/workflow.yaml

+101
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
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

Comments
 (0)