| @@ -0,0 +1 @@ | |||
| word.docx | |||
| @@ -0,0 +1,25 @@ | |||
| { | |||
| "salmon_index":"oss://pgx-reference-data/tediscover_salmon/Step_1_salmon_idx/", | |||
| "r_annotation":"oss://pgx-reference-data/tediscover_annotation/rollup_annotation/", | |||
| "rediscoverte_docker":"registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/rediscoverte:1.7", | |||
| "rediscoverte_cluster":"OnDemand bcs.b4.3xlarge img-ubuntu-vpc", | |||
| "disk_size":"300", | |||
| "fastp_docker":"registry.cn-shanghai.aliyuncs.com/pgx-docker-registry/fastp:0.19.6", | |||
| "fastp_cluster":"OnDemand bcs.b4.3xlarge img-ubuntu-vpc", | |||
| "trim_front1":"0", | |||
| "trim_tail1":"0", | |||
| "max_len1":"0", | |||
| "trim_front2":"0", | |||
| "trim_tail2":"0", | |||
| "max_len2":"0", | |||
| "adapter_sequence":"AGATCGGAAGAGCACACGTCTGAACTCCAGTCA", | |||
| "adapter_sequence_r2":"AGATCGGAAGAGCGTCGTGTAGGGAAAGAGTGT", | |||
| "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" | |||
| } | |||
| @@ -0,0 +1,28 @@ | |||
| { | |||
| "{{ project_name }}.sample_id": "{{ sample_id }}", | |||
| "{{ project_name }}.fastq1": "{{ fastq1 }}", | |||
| "{{ project_name }}.fastq2": "{{ fastq2 }}", | |||
| "{{ project_name }}.salmon_index": "{{ salmon_index }}", | |||
| "{{ project_name }}.r_annotation": "{{ r_annotation }}", | |||
| "{{ project_name }}.rediscoverte_docker": "{{ rediscoverte_docker }}", | |||
| "{{ project_name }}.rediscoverte_cluster": "{{ rediscoverte_cluster }}", | |||
| "{{ project_name }}.disk_size": "{{ disk_size }}", | |||
| "{{ project_name }}.fastp_docker": "{{ fastp_docker }}", | |||
| "{{ project_name }}.fastp_cluster": "{{ fastp_cluster }}", | |||
| "{{ project_name }}.trim_front1": "{{ trim_front1 }}", | |||
| "{{ project_name }}.trim_tail1": "{{ trim_tail1 }}", | |||
| "{{ project_name }}.max_len1": "{{ max_len1 }}", | |||
| "{{ project_name }}.trim_front2": "{{ trim_front2 }}", | |||
| "{{ project_name }}.trim_tail2": "{{ trim_tail2 }}", | |||
| "{{ project_name }}.max_len2": "{{ max_len2 }}", | |||
| "{{ project_name }}.adapter_sequence": "{{ adapter_sequence }}", | |||
| "{{ project_name }}.adapter_sequence_r2": "{{ adapter_sequence_r2 }}", | |||
| "{{ project_name }}.disable_adapter_trimming": "{{ disable_adapter_trimming }}", | |||
| "{{ project_name }}.length_required1": "{{ length_required1 }}", | |||
| "{{ project_name }}.UMI": "{{ UMI }}", | |||
| "{{ project_name }}.umi_loc": "{{ umi_loc }}", | |||
| "{{ project_name }}.umi_len": "{{ umi_len }}", | |||
| "{{ project_name }}.length_required": "{{ length_required }}", | |||
| "{{ project_name }}.qualified_quality_phred": "{{ qualified_quality_phred }}", | |||
| "{{ project_name }}.disable_quality_filtering": "{{ disable_quality_filtering }}" | |||
| } | |||
| @@ -0,0 +1,68 @@ | |||
| task fastp { | |||
| File read1 | |||
| File read2 | |||
| String sample_id | |||
| String adapter_sequence | |||
| String adapter_sequence_r2 | |||
| String docker | |||
| String cluster | |||
| String disk_size | |||
| String umi_loc | |||
| 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 <<< | |||
| 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 16 --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 16 -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 16 -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 | |||
| 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 | |||
| fi | |||
| >>> | |||
| runtime { | |||
| docker: docker | |||
| cluster: cluster | |||
| systemDisk: "cloud_ssd 40" | |||
| dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
| } | |||
| 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" | |||
| } | |||
| } | |||
| @@ -0,0 +1,40 @@ | |||
| task rediscoverte { | |||
| String sample_id | |||
| File fastq1 | |||
| File fastq2 | |||
| File salmon_index | |||
| File r_annotation | |||
| String disk_size | |||
| String docker | |||
| String cluster | |||
| command <<< | |||
| set -o pipefail | |||
| set -e | |||
| mkdir ./output/ | |||
| /software/Salmon-0.8.2_linux_x86_64/bin/salmon quant --seqBias --gcBias -i ${salmon_index} -l ISR -1 ${fastq1} -2 ${fastq2} -p 28 -o Step_2_salmon_counts | |||
| echo -e "sample\tquant_sf_path" > Step_3_metadata_for_rollup.tsv.txt | |||
| echo -e "${sample_id}\tStep_2_salmon_counts/quant.sf" >> Step_3_metadata_for_rollup.tsv.txt | |||
| cp -r ${r_annotation} ./ | |||
| cp /software/REdiscoverTE/a.Rdata ./ | |||
| /opt/conda/bin/Rscript /software/REdiscoverTE/rollup.R | |||
| >>> | |||
| runtime { | |||
| docker: docker | |||
| cluster: cluster | |||
| systemDisk: "cloud_ssd 40" | |||
| dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | |||
| } | |||
| output { | |||
| Array[File] te_result=glob("./Step_4_rollup2/*.RDS") | |||
| } | |||
| } | |||
| @@ -0,0 +1,77 @@ | |||
| import "./tasks/fastp.wdl" as fastp | |||
| import "./tasks/rediscoverte.wdl" as rediscoverte | |||
| workflow {{ project_name }} { | |||
| String sample_id | |||
| File fastq1 | |||
| File fastq2 | |||
| String disk_size | |||
| String fastp_docker | |||
| String fastp_cluster | |||
| String adapter_sequence | |||
| String adapter_sequence_r2 | |||
| String umi_loc | |||
| 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 | |||
| File salmon_index | |||
| File r_annotation | |||
| String rediscoverte_docker | |||
| String rediscoverte_cluster | |||
| call fastp.fastp as fastp { | |||
| input: | |||
| read1=fastq1, | |||
| read2=fastq2, | |||
| sample_id=sample_id, | |||
| 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 rediscoverte.rediscoverte as rediscoverte { | |||
| input: | |||
| sample_id=sample_id, | |||
| fastq1=fastp.Trim_R1, | |||
| fastq2=fastp.Trim_R2, | |||
| salmon_index=salmon_index, | |||
| r_annotation=r_annotation, | |||
| disk_size=disk_size, | |||
| docker=rediscoverte_docker, | |||
| cluster=rediscoverte_cluster | |||
| } | |||
| } | |||