室间质评
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.

95 lines
1.9KB

  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. import "./tasks/jaccard_index.wdl" as JI
  9. import "./tasks/mergeJI.wdl" as mergeJI
  10. workflow {{ project_name }} {
  11. File inputSamplesFile
  12. Array[Array[File]] inputSamples = read_tsv(inputSamplesFile)
  13. File inputJIpiarsFile
  14. Array[Array[File]] inputJIpairs = read_tsv(inputJIpiarsFile)
  15. File screen_ref_dir
  16. File fastq_screen_conf
  17. File benchmarking_dir
  18. File ref_dir
  19. String fasta
  20. File sdf
  21. scatter (sample in inputSamples) {
  22. call fastqc.fastqc as fastqc {
  23. input:
  24. read1=sample[0],
  25. read2=sample[1]
  26. }
  27. call fastqscreen.fastq_screen as fastqscreen {
  28. input:
  29. read1=sample[0],
  30. read2=sample[1],
  31. screen_ref_dir=screen_ref_dir,
  32. fastq_screen_conf=fastq_screen_conf
  33. }
  34. call bamqc.bamqc as bamqc {
  35. input:
  36. bam=sample[2],
  37. bai=sample[3]
  38. }
  39. call benchmark.benchmark as benchmark {
  40. input:
  41. vcf=sample[4],
  42. benchmarking_dir=benchmarking_dir,
  43. ref_dir=ref_dir,
  44. sample_mark=sample[5],
  45. fasta=fasta
  46. }
  47. call vcfstat.vcfstat as vcfstat {
  48. input:
  49. rtg_vcf=benchmark.rtg_vcf,
  50. rtg_vcf_index=benchmark.rtg_vcf_index
  51. }
  52. }
  53. call multiqc.multiqc as multiqc {
  54. input:
  55. read1_zip=fastqc.read1_zip,
  56. read2_zip=fastqc.read2_zip,
  57. txt1=fastqscreen.txt1,
  58. txt2=fastqscreen.txt2,
  59. zip=bamqc.zip,
  60. summary=benchmark.summary
  61. }
  62. call mergeNum.mergeNum as mergeNum {
  63. input:
  64. vcfnumber=vcfstat.vcfnumber
  65. }
  66. scatter (pair in inputJIpairs) {
  67. call JI.JI as JI {
  68. input:
  69. vcf_a=pair[0],
  70. vcf_b=pair[1],
  71. dir_name=pair[2],
  72. sdf=sdf
  73. }
  74. }
  75. call mergeJI.mergeJI as mergeJI {
  76. input:
  77. JI_summary=JI.JI_summary,
  78. inputJIpiarsFile=inputJIpiarsFile
  79. }
  80. }