您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

98 行
2.2KB

  1. import "./tasks/fastqc.wdl" as fastqc
  2. import "./tasks/fastqscreen.wdl" as fastqscreen
  3. import "./tasks/qualimap.wdl" as qualimap
  4. import "./tasks/benchmark.wdl" as benchmark
  5. import "./tasks/vcfstat.wdl" as vcfstat
  6. import "./tasks/sentieon.wdl" as sentieon
  7. import "./tasks/multiqc.wdl" as multiqc
  8. import "./tasks/mergeNum.wdl" as mergeNum
  9. import "./tasks/mergeSentieon.wdl" as mergeSentieon
  10. workflow project_name {
  11. File inputSamplesFile
  12. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  13. File screen_ref_dir
  14. File fastq_screen_conf
  15. File benchmarking_dir
  16. File ref_dir
  17. String fasta
  18. File sdf
  19. scatter (sample in inputSamples) {
  20. call fastqc.fastqc as fastqc {
  21. input:
  22. read1=sample[0],
  23. read2=sample[1]
  24. }
  25. call fastqscreen.fastq_screen as fastqscreen {
  26. input:
  27. read1=sample[0],
  28. read2=sample[1],
  29. screen_ref_dir=screen_ref_dir,
  30. fastq_screen_conf=fastq_screen_conf
  31. }
  32. call qualimap.qualimap as qualimap {
  33. input:
  34. bam=sample[2],
  35. bai=sample[3]
  36. }
  37. call benchmark.benchmark as benchmark {
  38. input:
  39. vcf=sample[4],
  40. benchmarking_dir=benchmarking_dir,
  41. ref_dir=ref_dir,
  42. sample_mark=sample[5],
  43. fasta=fasta
  44. }
  45. call vcfstat.vcfstat as vcfstat {
  46. input:
  47. rtg_vcf=benchmark.rtg_vcf,
  48. rtg_vcf_index=benchmark.rtg_vcf_index,
  49. sample_name=sample[6]
  50. }
  51. call sentieon.sentieon as sentieon {
  52. input:
  53. aln_metrics=sample[7],
  54. dedup_metrics=sample[8],
  55. is_metrics=sample[9],
  56. deduped_coverage=sample[10],
  57. sample_name=sample[6]
  58. }
  59. }
  60. call multiqc.multiqc as multiqc {
  61. input:
  62. read1_zip=fastqc.read1_zip,
  63. read2_zip=fastqc.read2_zip,
  64. txt1=fastqscreen.txt1,
  65. txt2=fastqscreen.txt2,
  66. zip=qualimap.zip,
  67. summary=benchmark.summary
  68. }
  69. call mergeNum.mergeNum as mergeNum {
  70. input:
  71. vcfnumber=vcfstat.vcfnumber
  72. }
  73. call mergeSentieon.mergeSentieon as mergeSentieon {
  74. input:
  75. aln_metrics_header=sentieon.aln_metrics_header,
  76. aln_metrics_data=sentieon.aln_metrics_data,
  77. dedup_metrics_header=sentieon.dedup_metrics_header,
  78. dedup_metrics_data=sentieon.dedup_metrics_data,
  79. is_metrics_header=sentieon.is_metrics_header,
  80. is_metrics_data=sentieon.is_metrics_data,
  81. deduped_coverage_header=sentieon.deduped_coverage_header,
  82. deduped_coverage_data=sentieon.deduped_coverage_data
  83. }
  84. }