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.

57 lines
1.6KB

  1. task merge_family {
  2. Array[File] splited_vcf
  3. String project
  4. String docker
  5. String cluster_config
  6. String disk_size
  7. command <<<
  8. mkdir -p /cromwell_root/tmp/vcf
  9. cp ${sep=" " splited_vcf} /cromwell_root/tmp/vcf
  10. for a in /cromwell_root/tmp/vcf/*vcf
  11. do
  12. for b in /cromwell_root/tmp/vcf/*vcf
  13. do
  14. for c in /cromwell_root/tmp/vcf/*vcf
  15. do
  16. for d in /cromwell_root/tmp/vcf/*vcf
  17. do
  18. sample_a=$(echo $a | cut -f7 -d_)
  19. sample_b=$(echo $b | cut -f7 -d_)
  20. sample_c=$(echo $c | cut -f7 -d_)
  21. sample_d=$(echo $d | cut -f7 -d_)
  22. rep_a=$(echo $a | cut -f8 -d_)
  23. rep_b=$(echo $b | cut -f8 -d_)
  24. rep_c=$(echo $c | cut -f8 -d_)
  25. rep_d=$(echo $d | cut -f8 -d_)
  26. if [ $sample_a == "LCL5" ] && [ $sample_b == "LCL6" ] && [ $sample_c == "LCL7" ] && [ $sample_d == "LCL8" ] && [ $rep_a == $rep_b ] && [ $rep_c == $rep_d ] && [ $rep_b == $rep_c ];then
  27. cat $a | grep -v '#' > LCL5.body
  28. cat $b | grep -v '#' | cut -f 10 > LCL6.body
  29. cat $c | grep -v '#' | cut -f 10 > LCL7.body
  30. cat $d | grep -v '#' | cut -f 10 > LCL8.body
  31. echo -e "#CHROM\tPOS\tID\tREF\tALT\tQUAL\tFILTER\tINFO\tFORMAT\tLCL5\tLCL6\tLCL7\tLCL8" > header_name
  32. cat $a | grep '##' | cat - header_name > header
  33. paste LCL5.body LCL6.body LCL7.body LCL8.body > family.body
  34. cat header family.body > ${project}_$rep_a.family.vcf
  35. fi
  36. done
  37. done
  38. done
  39. done
  40. >>>
  41. runtime {
  42. docker:docker
  43. cluster: cluster_config
  44. systemDisk: "cloud_ssd 40"
  45. dataDisk: "cloud_ssd " + disk_size + " /cromwell_root/"
  46. }
  47. output {
  48. Array[File] family_vcf = glob("*.family.vcf")
  49. }
  50. }