@@ -5,6 +5,7 @@ import "../QC/CollectPacBioAlignedMetrics.wdl" as AlnMetrics
55import "../Utility/PBUtils.wdl" as PB
66import "../Utility/Utils.wdl"
77import "../Utility/GeneralUtils.wdl"
8+ import "../QC/AlignedMetrics.wdl" as GeAlnMetrics
89
910workflow AlignAndCheckFingerprintCCS {
1011 meta {
@@ -13,8 +14,8 @@ workflow AlignAndCheckFingerprintCCS {
1314 }
1415
1516 input {
16- File uBAM
17- File uPBI
17+ File uBAM
18+ File ? uPBI
1819 String bam_sample_name
1920 String library
2021
@@ -52,10 +53,13 @@ workflow AlignAndCheckFingerprintCCS {
5253
5354 call Utils .ComputeAllowedLocalSSD as Guess {input : intended_gb = 3 *ceil (size (uBAM , "GB" ) + size (uPBI , "GB" ))}
5455 call Utils .RandomZoneSpewer as arbitrary {input : num_of_zones = 3 }
56+ if (! defined (uPBI ) ) {
57+ call PB .PBIndex as PBIndex {input : bam = uBAM }
58+ }
5559
5660 call PB .ShardLongReads {
5761 input :
58- unaligned_bam = uBAM , unaligned_pbi = uPBI ,
62+ unaligned_bam = uBAM , unaligned_pbi = select_first ([ uPBI , PBIndex . pbi ]) ,
5963 num_shards = 50 , num_ssds = Guess .numb_of_local_ssd , zones = arbitrary .zones
6064 }
6165
@@ -121,12 +125,18 @@ workflow AlignAndCheckFingerprintCCS {
121125 call GeneralUtils .TarGZFiles as saveFPRes {input : files = [FPCheckAoU .fingerprint_summary , FPCheckAoU .fingerprint_details ], name = 'fingerprint_check.summary_and_details' }
122126 }
123127
128+ call GeAlnMetrics .MosDepthWGS { input : bam = aBAM , bai = aBAI }
129+
124130 output {
125131 File aligned_bam = aBAM
126132 File aligned_bai = aBAI
127133 File aligned_pbi = IndexAlignedReads .pbi
128134
135+ Float wgs_cov = MosDepthWGS .wgs_cov
136+ File coverage_per_chr = MosDepthWGS .summary_txt
137+
129138 File alignment_metrics_tar_gz = saveAlnMetrics .you_got_it
139+ Map [String , Float ] alignment_metrics = CollectPacBioAlignedMetrics .alignment_metrics
130140
131141 Float ? fp_lod_expected_sample = FPCheckAoU .lod_expected_sample
132142 String ? fp_status = FPCheckAoU .FP_status
0 commit comments