室间质评
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

75 lines
1.4KB

  1. import "./tasks/fastqc.wdl" as fastqc
  2. import "./tasks/fastqscreen.wdl" as fastqscreen
  3. import "./tasks/bamqc.wdl" as bamqc
  4. import "./tasks/benchmark.wdl" as benchmark
  5. import "./tasks/multiqc.wdl" as multiqc
  6. import "./tasks/vcfstat.wdl" as vcfstat
  7. import "./tasks/mergeNum.wdl" as mergeNum
  8. workflow {{ project_name }} {
  9. File inputSamplesFile
  10. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  11. File screen_ref_dir
  12. File fastq_screen_conf
  13. File benchmarking_dir
  14. File ref_dir
  15. String fasta
  16. scatter (sample in inputSamples){
  17. call fastqc.fastqc as fastqc {
  18. input:
  19. read1=sample[0],
  20. read2=sample[1]
  21. }
  22. call fastqscreen.fastq_screen as fastqscreen {
  23. input:
  24. read1=sample[0],
  25. read2=sample[1],
  26. screen_ref_dir=screen_ref_dir,
  27. fastq_screen_conf=fastq_screen_conf
  28. }
  29. call bamqc.bamqc as bamqc {
  30. input:
  31. bam=sample[2],
  32. bai=sample[3]
  33. }
  34. call benchmark.benchmark as benchmark {
  35. input:
  36. vcf=sample[4],
  37. benchmarking_dir=benchmarking_dir,
  38. ref_dir=ref_dir,
  39. sample_mark=sample[5],
  40. fasta=fasta
  41. }
  42. call vcfstat.vcfstat as vcfstat {
  43. input:
  44. rtg_vcf=benchmark.rtg_vcf
  45. rtg_vcf_index=benchmark.rtg_vcf_index
  46. }
  47. }
  48. call multiqc.multiqc as multiqc {
  49. input:
  50. read1_zip=fastqc.read1_zip,
  51. read2_zip=fastqc.read2_zip,
  52. txt1=fastqscreen.txt1,
  53. txt2=fastqscreen.txt2,
  54. zip=bamqc.zip,
  55. summary=benchmark.summary
  56. }
  57. call mergeNum.mergeNum as mergeNum {
  58. input:
  59. vcfnumber=vcfstat.vcfnumber
  60. }
  61. }