Quartet家系的四个样本的DNA标准物质被送往多加测序公司,用PCRfree或者PCR的建库方法建立3个技术重复,用多个测序平台(Illumina XTen、Illumina Novaseq、BGISEQ-500、BGISEQ-2000和BGISEQ-T7)进行测序。获得的原始数据用多个分析流程进行分析(比对软件:BWA-mem、Novoalign、Bowtie2,突变检出软件:HaplotyperCaller、Strelka2、FreeBayes)。 | Quartet家系的四个样本的DNA标准物质被送往多加测序公司,用PCRfree或者PCR的建库方法建立3个技术重复,用多个测序平台(Illumina XTen、Illumina Novaseq、BGISEQ-500、BGISEQ-2000和BGISEQ-T7)进行测序。获得的原始数据用多个分析流程进行分析(比对软件:BWA-mem、Novoalign、Bowtie2,突变检出软件:HaplotyperCaller、Strelka2、FreeBayes)。 | ||||
进过以上各种因素的组合每个样本得到216个VCF文件,本APP的目的是整合这些VCF文件的结果得到一组可信度较高的突变。 | |||||
经过以上各种因素的组合每个样本得到216个VCF文件,本APP的目的是整合这些VCF文件的结果得到一组可信度较高的突变。 | |||||
## 流程与参数 | ## 流程与参数 | ||||
{ | { | ||||
"{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | "{{ project_name }}.fasta": "GRCh38.d1.vd1.fa", | ||||
"{{ project_name }}.sister.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | |||||
"{{ project_name }}.mendelian.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | "{{ project_name }}.mendelian.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/vbt:v1.1", | ||||
"{{ project_name }}.disk_size": "100", | |||||
"{{ project_name }}.disk_size": "150", | |||||
"{{ project_name }}.merge.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-tools:latest", | "{{ project_name }}.merge.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-tools:latest", | ||||
"{{ project_name }}.zipIndex.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-tools:latest", | "{{ project_name }}.zipIndex.docker": "registry-vpc.cn-shanghai.aliyuncs.com/pgx-docker-registry/rtg-tools:latest", | ||||
"{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}", | "{{ project_name }}.inputSamplesFile": "{{ inputSamplesFile }}", |
task mendelian { | task mendelian { | ||||
File LCL5_vcf | |||||
File LCL6_vcf | |||||
File sister_vcf | |||||
File LCL7_vcf | File LCL7_vcf | ||||
File LCL8_vcf | File LCL8_vcf | ||||
String LCL5_name | |||||
String LCL6_name | |||||
String LCL7_name | String LCL7_name | ||||
String LCL8_name | String LCL8_name | ||||
String family_name | String family_name | ||||
command <<< | command <<< | ||||
export LD_LIBRARY_PATH=/opt/htslib-1.9 | export LD_LIBRARY_PATH=/opt/htslib-1.9 | ||||
mkdir sister | |||||
/opt/VBT-TrioAnalysis/vbt varcomp -called ${LCL5_vcf} -base ${LCL6_vcf} -ref ${ref_dir}/${fasta} -outDir sister -filter none | |||||
mv sister/TPBase.vcf ${family_name}.sister.consistent.vcf | |||||
mv sister/FP.vcf ${family_name}.LCL5.uniq.vcf | |||||
mv sister/FN.vcf ${family_name}.LCL6.uniq.vcf | |||||
mv sister/log.txt ${family_name}.sister.vbt.log.txt | |||||
mkdir VBT | mkdir VBT | ||||
/opt/VBT-TrioAnalysis/vbt mendelian -ref ${ref_dir}/${fasta} -mother ${LCL8_vcf} -father ${LCL7_vcf} -child ${family_name}.sister.consistent.vcf -outDir VBT -out-prefix ${family_name} --output-violation-regions | |||||
/opt/VBT-TrioAnalysis/vbt mendelian -ref ${ref_dir}/${fasta} -mother ${LCL8_vcf} -father ${LCL7_vcf} -child ${sister_vcf} -outDir VBT -out-prefix ${family_name} --output-violation-regions | |||||
cat VBT/${family_name}_trio.vcf | grep '#' | cut -f1-9,10 > mother_header | cat VBT/${family_name}_trio.vcf | grep '#' | cut -f1-9,10 > mother_header | ||||
cat VBT/${family_name}_trio.vcf | grep -v '#' | cut -f1-9,10 | grep 'MD=1' | grep -v '0/0' | cat mother_header - > ${LCL8_name}.sister.mendelian.gt.vcf | cat VBT/${family_name}_trio.vcf | grep -v '#' | cut -f1-9,10 | grep 'MD=1' | grep -v '0/0' | cat mother_header - > ${LCL8_name}.sister.mendelian.gt.vcf | ||||
dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/" | ||||
} | } | ||||
output { | output { | ||||
File sister_consistent_vcf = "${family_name}.sister.consistent.vcf" | |||||
File LCL5_uniq_vcf = "${family_name}.LCL5.uniq.vcf" | |||||
File LCL6_uniq_vcf = "${family_name}.LCL6.uniq.vcf" | |||||
File sister_log = "${family_name}.sister.vbt.log.txt" | |||||
Array[File] vbt_mendelian = glob("VBT/*") | Array[File] vbt_mendelian = glob("VBT/*") | ||||
File mother_vcf = "${LCL8_name}.sister.mendelian.gt.vcf" | File mother_vcf = "${LCL8_name}.sister.mendelian.gt.vcf" | ||||
File father_vcf = "${LCL7_name}.sister.mendelian.gt.vcf" | File father_vcf = "${LCL7_name}.sister.mendelian.gt.vcf" |
String disk_size | String disk_size | ||||
command <<< | command <<< | ||||
export LD_LIBRARY_PATH=/opt/htslib-1.9 | |||||
mkdir sister | mkdir sister | ||||
vbt varcomp -called ${LCL5_vcf} -base ${LCL6_vcf} -ref ${ref_dir}/${fasta} -outDir sister -filter none | vbt varcomp -called ${LCL5_vcf} -base ${LCL6_vcf} -ref ${ref_dir}/${fasta} -outDir sister -filter none | ||||
import "./tasks/variantsNorm.wdl" as variantsNorm | import "./tasks/variantsNorm.wdl" as variantsNorm | ||||
import "./tasks/sister.wdl" as sister | |||||
import "./tasks/mendelian.wdl" as mendelian | import "./tasks/mendelian.wdl" as mendelian | ||||
import "./tasks/zipIndex.wdl" as zipIndex | import "./tasks/zipIndex.wdl" as zipIndex | ||||
import "./tasks/merge.wdl" as merge | import "./tasks/merge.wdl" as merge | ||||
cluster_config=cluster_config, | cluster_config=cluster_config, | ||||
disk_size=disk_size | disk_size=disk_size | ||||
} | } | ||||
call mendelian.mendelian as mendelian { | |||||
input: | |||||
call sister.sister as sister{ | |||||
input: | |||||
LCL5_vcf=LCL5variantsNorm.normed_vcf, | LCL5_vcf=LCL5variantsNorm.normed_vcf, | ||||
LCL6_vcf=LCL6variantsNorm.normed_vcf, | LCL6_vcf=LCL6variantsNorm.normed_vcf, | ||||
ref_dir=ref_dir, | |||||
fasta=fasta, | |||||
family_name=sample[8], | |||||
cluster_config=cluster_config, | |||||
disk_size=disk_size | |||||
} | |||||
call mendelian.mendelian as mendelian { | |||||
input: | |||||
sister_vcf=sister.sister_consistent_vcf, | |||||
LCL7_vcf=LCL7variantsNorm.normed_vcf, | LCL7_vcf=LCL7variantsNorm.normed_vcf, | ||||
LCL8_vcf=LCL8variantsNorm.normed_vcf, | LCL8_vcf=LCL8variantsNorm.normed_vcf, | ||||
LCL5_name=sample[4], | |||||
LCL6_name=sample[5], | |||||
LCL7_name=sample[6], | LCL7_name=sample[6], | ||||
LCL8_name=sample[7], | LCL8_name=sample[7], | ||||
family_name=sample[8], | family_name=sample[8], |