@@ -86,6 +86,7 @@ if (length(grep("\\.gz", muts_vcf)) > 0) {
8686} else {
8787 num_snvs = system(paste(" grep -cv \" ^#\" " , muts_vcf , " || true" ), intern = TRUE )
8888}
89+ num_snvs = as.integer(num_snvs )
8990
9091num_indels = 0
9192if (indel_vcf != ' -' ) {
@@ -96,6 +97,7 @@ if (indel_vcf != '-') {
9697 num_indels = system(paste(" grep -cv \" ^#\" " , indel_vcf , " || true" ), intern = TRUE )
9798 }
9899}
100+ num_indels = as.integer(num_indels )
99101
100102col_t = c(" character" ," numeric" ," character" ," character" ," character" ," character" ," character" )
101103if (num_snvs == 0 ) {
@@ -245,8 +247,8 @@ if (num_snvs > 0) {
245247 snvs_new2 [new_row , " BEND" ] = paste(snvs_tmp [, " BEND" ], collapse = " ," )
246248 snvs_new2 [new_row , " TRI" ] = snvs_tmp [1 , " TRI" ]
247249 snvs_new2 [new_row , " QPOS" ] = paste(snvs_tmp [, " QPOS" ], collapse = " ," )
248- snvs_new2 [new_row , " DEPTH_FWD" ] = median(snvs_tmp [, " DEPTH_FWD" ])
249- snvs_new2 [new_row , " DEPTH_REV" ] = median(snvs_tmp [, " DEPTH_REV" ])
250+ snvs_new2 [new_row , " DEPTH_FWD" ] = median(as.numeric( snvs_tmp [, " DEPTH_FWD" ]) )
251+ snvs_new2 [new_row , " DEPTH_REV" ] = median(as.numeric( snvs_tmp [, " DEPTH_REV" ]) )
250252 snvs_new2 [new_row , " DEPTH_NORM_FWD" ] = snvs_tmp [1 , " DEPTH_NORM_FWD" ]
251253 snvs_new2 [new_row , " DEPTH_NORM_REV" ] = snvs_tmp [1 , " DEPTH_NORM_REV" ]
252254 snvs_new2 [new_row , " TIMES_CALLED" ] = freq
@@ -370,13 +372,26 @@ if (num_indels > 0) {
370372 indels_new [new_row , " MQ" ] = indels_tmp [1 , " MQ" ]
371373 indels_new [new_row , " DP4" ] = indels_tmp [1 , " DP4" ]
372374 indels_new [new_row , " mut_id" ] = indels_tmp [1 , " mut_id" ]
375+
376+ indels_new [new_row , " BBEG" ] = paste(indels_tmp [, " BBEG" ], collapse = " ," )
377+ indels_new [new_row , " BEND" ] = paste(indels_tmp [, " BEND" ], collapse = " ," )
378+ indels_new [new_row , " QPOS" ] = paste(indels_tmp [, " QPOS" ], collapse = " ," )
379+ indels_new [new_row , " DEPTH_FWD" ] = median(as.numeric(indels_tmp [, " DEPTH_FWD" ]))
380+ indels_new [new_row , " DEPTH_REV" ] = median(as.numeric(indels_tmp [, " DEPTH_REV" ]))
381+ indels_new [new_row , " DEPTH_NORM_FWD" ] = indels_tmp [1 , " DEPTH_NORM_FWD" ]
382+ indels_new [new_row , " DEPTH_NORM_REV" ] = indels_tmp [1 , " DEPTH_NORM_REV" ]
383+ indels_new [new_row , " DPLX_ASXS" ] = paste(indels_tmp [, " DPLX_ASXS" ], collapse = " ," )
384+ indels_new [new_row , " DPLX_CLIP" ] = paste(indels_tmp [, " DPLX_CLIP" ], collapse = " ," )
385+ indels_new [new_row , " DPLX_NM" ] = paste(indels_tmp [, " DPLX_NM" ], collapse = " ," )
386+ indels_new [new_row , " BULK_ASXS" ] = paste(indels_tmp [, " BULK_ASXS" ], collapse = " ," )
387+ indels_new [new_row , " BULK_NM" ] = paste(indels_tmp [, " BULK_NM" ], collapse = " ," )
373388 }
374389 }
375390
376391 indels_new = indels_new [order(indels_new $ chr , indels_new $ pos ),]
377392
378393 # drop some columns:
379- indels_new = indels_new [, c(" chr" , " pos" , " kk" , " ref" , " mut" , " qual" , " filter" , " rb_id" , " TYPE" , " TIMES_CALLED" , " SEQ" )]
394+ indels_new = indels_new [, c(" chr" , " pos" , " kk" , " ref" , " mut" , " qual" , " filter" , " rb_id" , " TYPE" , " TIMES_CALLED" , " SEQ" , " BBEG " , " BEND " , " QPOS " , " DEPTH_FWD " , " DEPTH_REV " , " DEPTH_NORM_FWD " , " DEPTH_NORM_REV " , " DPLX_ASXS " , " DPLX_CLIP " , " DPLX_NM " , " BULK_ASXS " , " BULK_NM " )]
380395
381396 # #########################################################################################
382397 # Calculate VAFs for indels
@@ -468,13 +483,23 @@ if (num_indels > 0) {
468483 indels_final $ INFO = paste(indels_final $ INFO , rep(" DUPLEX_VAF=" , nrow(indels_final )), indels_final $ DUPLEX_VAF , " ;" , sep = " " )
469484 indels_final $ INFO = paste(indels_final $ INFO , rep(" BAM_VAF=" , nrow(indels_final )), indels_final $ BAM_VAF , " ;" , sep = " " )
470485 indels_final $ INFO = paste(indels_final $ INFO , rep(" BAM_VAF_BQ10=" , nrow(indels_final )), indels_final $ BAM_VAF_BQ10 , " ;" , sep = " " )
486+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DEPTH_NORM_FWD=" , nrow(indels_final )), indels_final $ DEPTH_NORM_FWD , " ;" , sep = " " )
487+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DEPTH_NORM_REV=" , nrow(indels_final )), indels_final $ DEPTH_NORM_REV , " ;" , sep = " " )
488+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DEPTH_FWD=" , nrow(indels_final )), indels_final $ DEPTH_FWD , " ;" , sep = " " )
489+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DEPTH_REV=" , nrow(indels_final )), indels_final $ DEPTH_REV , " ;" , sep = " " )
471490 indels_final $ INFO = paste(indels_final $ INFO , rep(" SEQ=" , nrow(indels_final )), indels_final $ SEQ , " ;" , sep = " " )
472491 indels_final $ INFO = paste(indels_final $ INFO , rep(" DUPLEX_COV=" , nrow(indels_final )), indels_final $ DUPLEX_COV , " ;" , sep = " " )
473492 indels_final $ INFO = paste(indels_final $ INFO , rep(" BAM_MUT=" , nrow(indels_final )), indels_final $ BAM_MUT , " ;" , sep = " " )
474493 indels_final $ INFO = paste(indels_final $ INFO , rep(" BAM_COV=" , nrow(indels_final )), indels_final $ BAM_COV , " ;" , sep = " " )
475494 indels_final $ INFO = paste(indels_final $ INFO , rep(" BAM_MUT_BQ10=" , nrow(indels_final )), indels_final $ BAM_MUT_BQ10 , " ;" , sep = " " )
476495 indels_final $ INFO = paste(indels_final $ INFO , rep(" BAM_COV_BQ10=" , nrow(indels_final )), indels_final $ BAM_COV_BQ10 , " ;" , sep = " " )
477496 indels_final $ INFO = paste(indels_final $ INFO , rep(" RB=" , nrow(indels_final )), indels_final $ rb_id , " " , sep = " " )
497+ indels_final $ INFO = paste(indels_final $ INFO , rep(" QPOS=" , nrow(indels_final )), indels_final $ QPOS , " ;" , sep = " " )
498+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DPLX_ASXS=" , nrow(indels_final )), indels_final $ DPLX_ASXS , " ;" , sep = " " )
499+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DPLX_CLIP=" , nrow(indels_final )), indels_final $ DPLX_CLIP , " ;" , sep = " " )
500+ indels_final $ INFO = paste(indels_final $ INFO , rep(" DPLX_NM=" , nrow(indels_final )), indels_final $ DPLX_NM , " ;" , sep = " " )
501+ indels_final $ INFO = paste(indels_final $ INFO , rep(" BULK_ASXS=" , nrow(indels_final )), indels_final $ BULK_ASXS , " ;" , sep = " " )
502+ indels_final $ INFO = paste(indels_final $ INFO , rep(" BULK_NM=" , nrow(indels_final )), indels_final $ BULK_NM , " " , sep = " " )
478503}
479504
480505# Describe in header:
0 commit comments