stead99 пре 4 година
родитељ
комит
46cfcdba8e
5 измењених фајлова са 49 додато и 119 уклоњено
  1. +0
    -2
      defaults
  2. +1
    -1
      inputs
  3. +10
    -31
      tasks/fastp.wdl
  4. +0
    -29
      tasks/hisat2_fp.wdl
  5. +38
    -56
      workflow.wdl

+ 0
- 2
defaults Прегледај датотеку

@@ -21,11 +21,9 @@
"disable_adapter_trimming": "0",
"length_required": "50",
"length_required1": "20",
"UMI": "0",
"umi_len": "0",
"umi_loc": "umi_loc",
"qualified_quality_phred": "20",
"disable_quality_filtering": "1",
"hisat2_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/hisat2:v2.1.0-2",
"hisat2_cluster": "OnDemand bcs.a2.3xlarge img-ubuntu-vpc",
"samtools_docker": "registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/samtools:v1.3.1",

+ 1
- 1
inputs Прегледај датотеку

@@ -44,7 +44,7 @@
"{{ project_name }}.count_docker": "{{ count_docker }}",
"{{ project_name }}.count_cluster": "{{ count_cluster }}",
"{{ project_name }}.count_length": "{{ count_length }}",
"{{ project_name }}.fastp_run": "{{ fastp_run }}",
"{{ project_name }}.trim_adapter": "{{ trim_adapter }}",
"{{ project_name }}.pre_alignment_qc": "{{ pre_alignment_qc }}",
"{{ project_name }}.qualimap_qc": "{{ qualimap_qc }}"
}

+ 10
- 31
tasks/fastp.wdl Прегледај датотеку

@@ -8,48 +8,27 @@ task fastp {
String cluster
String disk_size
String umi_loc
String trim_adapter
Int trim_front1
Int trim_tail1
Int max_len1
Int trim_front2
Int trim_tail2
Int max_len2
Int disable_adapter_trimming
Int length_required
Int umi_len
Int UMI
Int qualified_quality_phred
Int length_required1
Int disable_quality_filtering

command <<<
nt=$(nproc)
mkdir -p /cromwell_root/tmp/fastp/
## 1.Disable_quality_filtering
if [ "${disable_quality_filtering}" == 0 ]
then
cp ${read1} /cromwell_root/tmp/fastp/{sample_id}_R1.fastq.tmp1.gz
cp ${read2} /cromwell_root/tmp/fastp/{sample_id}_R2.fastq.tmp1.gz
else
fastp --thread $nt --trim_front1 ${trim_front1} --trim_tail1 ${trim_tail1} --max_len1 ${max_len1} --trim_front2 ${trim_front2} --trim_tail2 ${trim_tail2} --max_len2 ${max_len2} -i ${read1} -I ${read2} -o /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp1.gz -O /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp1.gz -j ${sample_id}.json -h ${sample_id}.html
fi

## 2.UMI
if [ "${UMI}" == 0 ]
then
cp /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp1.gz /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp2.gz
cp /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp1.gz /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp2.gz
else
fastp --thread $nt -U --umi_loc=${umi_loc} --umi_len=${umi_len} --trim_front1 ${trim_front1} --trim_tail1 ${trim_tail1} --max_len1 ${max_len1} --trim_front2 ${trim_front2} --trim_tail2 ${trim_tail2} --max_len2 ${max_len2} -i /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp1.gz -I /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp1.gz -o /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp2.gz -O /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp2.gz -j ${sample_id}.json -h ${sample_id}.html
fi

## 3.Trim
if [ "${disable_adapter_trimming}" == 0 ]
then
fastp --thread $nt -l ${length_required} -q ${qualified_quality_phred} -u ${length_required1} --adapter_sequence ${adapter_sequence} --adapter_sequence_r2 ${adapter_sequence_r2} --detect_adapter_for_pe --trim_front1 ${trim_front1} --trim_tail1 ${trim_tail1} --max_len1 ${max_len1} --trim_front2 ${trim_front2} --trim_tail2 ${trim_tail2} --max_len2 ${max_len2} -i /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp2.gz -I /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp2.gz -o ${sample_id}_R1.fastq.gz -O ${sample_id}_R2.fastq.gz -j ${sample_id}.json -h ${sample_id}.html
## Trim
if [ "${trim_adapter}" != 'true' ]; then
cp ${read1} ${sample_id}_R1.fq.gz
cp ${read2} ${sample_id}_R2.fq.gz
else
cp /cromwell_root/tmp/fastp/${sample_id}_R1.fastq.tmp2.gz ${sample_id}_R1.fastq.gz
cp /cromwell_root/tmp/fastp/${sample_id}_R2.fastq.tmp2.gz ${sample_id}_R2.fastq.gz
fastp --thread $nt -l ${length_required} -q ${qualified_quality_phred} -u ${length_required1} --adapter_sequence ${adapter_sequence} --adapter_sequence_r2 ${adapter_sequence_r2} --detect_adapter_for_pe --trim_front1 ${trim_front1} --trim_tail1 ${trim_tail1} --max_len1 ${max_len1} --trim_front2 ${trim_front2} --trim_tail2 ${trim_tail2} --max_len2 ${max_len2} -i ${read1} -I ${read2} -o ${sample_id}_R1.fq.gz -O ${sample_id}_R2.fq.gz -j ${sample_id}.json -h ${sample_id}.html
fi
>>>
@@ -63,7 +42,7 @@ task fastp {
output {
File json = "${sample_id}.json"
File report = "${sample_id}.html"
File Trim_R1 = "${sample_id}_R1.fastq.gz"
File Trim_R2 = "${sample_id}_R2.fastq.gz"
File trim_R1 = "${sample_id}_R1.fq.gz"
File trim_R2 = "${sample_id}_R2.fq.gz"
}
}

+ 0
- 29
tasks/hisat2_fp.wdl Прегледај датотеку

@@ -1,29 +0,0 @@
task hisat2_fp {
File idx
File read_1P
File read_2P
String idx_prefix
String sample_id
String docker
String cluster
String disk_size

command {
nt=$(nproc)
hisat2 -t -p $nt -x ${idx}/${idx_prefix} -1 ${read_1P} -2 ${read_2P} -S ${sample_id}.sam --un-conc-gz ${sample_id}_un.fq.gz
}
runtime {
docker: docker
cluster: cluster
systemDisk: "cloud_ssd 40"
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
}

output {
File sam=sample_id + ".sam"
File unmapread_1p=sample_id + "_un.fq.1.gz"
File unmapread_2p=sample_id + "_un.fq.2.gz"
}
}

+ 38
- 56
workflow.wdl Прегледај датотеку

@@ -53,15 +53,13 @@ workflow {{ project_name }} {
Int disable_adapter_trimming
Int length_required
Int umi_len
Int UMI
Int qualified_quality_phred
Int length_required1
Int disable_quality_filtering
Int insert_size

Boolean pre_alignment_qc
Boolean qualimap_qc
Boolean fastp_run
Boolean trim_adapter
if (pre_alignment_qc) {
call fastqc.fastqc as fastqc {
@@ -84,60 +82,44 @@ workflow {{ project_name }} {
disk_size=disk_size
}
}
if (fastp_run){
call fastp.fastp as fastp {
input:
sample_id=sample_id,
read1=read1,
read2=read2,
docker=fastp_docker,
cluster=fastp_cluster,
disk_size=disk_size,
adapter_sequence=adapter_sequence,
adapter_sequence_r2=adapter_sequence_r2,
umi_loc=umi_loc,
trim_front1=trim_front1,
trim_tail1=trim_tail1,
max_len1=max_len1,
trim_front2=trim_front2,
trim_tail2=trim_tail2,
max_len2=max_len2,
disable_adapter_trimming=disable_adapter_trimming,
length_required=length_required,
umi_len=umi_len,
UMI=UMI,
qualified_quality_phred=qualified_quality_phred,
length_required1=length_required1,
disable_quality_filtering=disable_quality_filtering
}

call hisat2_fp.hisat2_fp as hisat2_fp {
input:
sample_id=sample_id,
idx=idx,
idx_prefix=idx_prefix,
read_1P=fastp.Trim_R1,
read_2P=fastp.Trim_R2,
docker=hisat2_docker,
cluster=hisat2_cluster,
disk_size=disk_size
}
}

if (!fastp_run){
call hisat2.hisat2 as hisat2 {
input:
sample_id=sample_id,
docker=hisat2_docker,
cluster=hisat2_cluster,
idx=idx,
idx_prefix=idx_prefix,
read_1P=read1,
read_2P=read2,
disk_size=disk_size
}
}
call fastp.fastp as fastp {
input:
sample_id=sample_id,
read1=read1,
read2=read2,
docker=fastp_docker,
cluster=fastp_cluster,
disk_size=disk_size,
adapter_sequence=adapter_sequence,
adapter_sequence_r2=adapter_sequence_r2,
umi_loc=umi_loc,
trim_front1=trim_front1,
trim_tail1=trim_tail1,
max_len1=max_len1,
trim_front2=trim_front2,
trim_tail2=trim_tail2,
max_len2=max_len2,
disable_adapter_trimming=disable_adapter_trimming,
length_required=length_required,
umi_len=umi_len,
qualified_quality_phred=qualified_quality_phred,
length_required1=length_required1
trim_adapter=trim_adapter
}
call hisat2.hisat2 as hisat2 {
input:
sample_id=sample_id,
docker=hisat2_docker,
cluster=hisat2_cluster,
idx=idx,
idx_prefix=idx_prefix,
read_1P=fastp.trim_R1,
read_2P=fastp.trim_R2,
disk_size=disk_size
}
}
call samtools.samtools as samtools {
input:

Loading…
Откажи
Сачувај