master
chaopower 2024-01-02 11:48:43 +08:00
parent b82438461c
commit fb96fd356d
3 changed files with 63 additions and 7 deletions

View File

@ -69,9 +69,12 @@ workflow pipeline {
input: input:
run=catecode['addAlignment'], run=catecode['addAlignment'],
tumor=tumor, tumor=tumor,
umi=umi,
tumor_rmdup_bam=alignment.tumor_rmdup_bam, tumor_rmdup_bam=alignment.tumor_rmdup_bam,
tumor_sorted_bam=alignment.tumor_sorted_bam,
normal=normal, normal=normal,
normal_rmdup_bam=alignment.normal_rmdup_bam, normal_rmdup_bam=alignment.normal_rmdup_bam,
genecore_json=alignment.genecore_json,
ref=ref, ref=ref,
bed=bed, bed=bed,
output_dir=workdir output_dir=workdir

View File

@ -48,6 +48,7 @@ task markduplicates_genecore {
output { output {
String rmdup_bam = "${output_dir}/alignment/${name}.rmdup.bam" String rmdup_bam = "${output_dir}/alignment/${name}.rmdup.bam"
String genecore_json = "${output_dir}/alignment/${name}_gencore.json"
} }
} }
@ -202,5 +203,6 @@ workflow alignment {
String normal_sorted_bam = "${output_dir}/alignment/${normal}.sorted.bam" String normal_sorted_bam = "${output_dir}/alignment/${normal}.sorted.bam"
String normal_rmdup_bam = "${output_dir}/alignment/${normal}.rmdup.bam" String normal_rmdup_bam = "${output_dir}/alignment/${normal}.rmdup.bam"
String normal_pileup = "${output_dir}/alignment/${normal}.pileup" String normal_pileup = "${output_dir}/alignment/${normal}.pileup"
String genecore_json = "${output_dir}/alignment/${name}_gencore.json"
} }
} }

View File

@ -26,27 +26,78 @@ task run_statistics {
} }
} }
task run_statistics_umi {
String name
String output_dir
String sortedBam
String rmdupBam
String genecore_json
String ref
String bed
command {
if [ ! -d ${output_dir}/qc/${name}_bamdst ];then
mkdir -p ${output_dir}/qc/${name}_bamdst
mkdir -p ${output_dir}/qc/${name}_sorted_bamdst
fi
samtools flagstat -@ 10 ${rmdupBam} >${output_dir}/qc/${name}.rmdup.flagstat
samtools stats --reference ${ref} -t ${bed} -@ 10 ${rmdupBam} > ${output_dir}/qc/${name}.rmdup.stat
bamdst -p ${bed} -o ${output_dir}/qc/${name}_bamdst ${rmdupBam}
bamdst -p ${bed} -o ${output_dir}/qc/${name}_sorted_bamdst ${sortedBam}
qc_stat_umi.py ${output_dir}/qc/${name}.json ${output_dir}/qc/${name}_bamdst/ ${output_dir}/qc/${name}_sorted_bamdst/ ${genecore_json} ${output_dir}/qc/${name}_qc.txt
# InsertAndDepthStat.R \
# ${output_dir}/qc/${name}_InsertAndDepthStat \
# ${output_dir}/qc/${name}_bamdst/insertsize.plot \
# ${output_dir}/qc/${name}_bamdst/depth_distribution.plot
}
}
workflow statistics { workflow statistics {
Boolean run=true Boolean run=true
Boolean umi
String tumor String tumor
String tumor_rmdup_bam String tumor_rmdup_bam
String tumor_sorted_bam
String? normal String? normal
String? normal_rmdup_bam String? normal_rmdup_bam
String genecore_json
String ref String ref
String bed String bed
String output_dir String output_dir
if (run) { if (run) {
call run_statistics as runstatistics_tumor { if (umi) {
input: call run_statistics_umi as runstatistics_umi_tumor {
name=tumor, input:
output_dir=output_dir, name=tumor,
rmdupBam=tumor_rmdup_bam, output_dir=output_dir,
ref=ref, rmdupBam=tumor_rmdup_bam,
bed=bed genecore_json=genecore_json,
sortedBam=tumor_sorted_bam,
ref=ref,
bed=bed
}
}
if (!umi) {
call run_statistics as runstatistics_tumor {
input:
name=tumor,
output_dir=output_dir,
rmdupBam=tumor_rmdup_bam,
ref=ref,
bed=bed
}
} }
if (defined(normal)) { if (defined(normal)) {