diff --git a/alignment/dnaseqalign.sh b/alignment/dnaseqalign.sh index 184c787ba5e30d6a2983857fd7d84d26c78ebd95..fe4606adfc4f81c29df830f7bd5ab94f2b7e1a8e 100644 --- a/alignment/dnaseqalign.sh +++ b/alignment/dnaseqalign.sh @@ -67,7 +67,7 @@ bwa mem -M -t $NPROC -R "@RG\tID:${read_group}\tLB:tx\tPL:illumina\tPU:barcode\t if [[ $umi == 'umi' ]] && [[ -f "${index_path}/genome.fa.alt" ]] then k8 ${testexe}/bwa-postalt.js -p tmphla ${index_path}/genome.fa.alt out.sam | python ${baseDir}/add_umi_sam.py -s - -o output.unsort.bam -elif [[ "${index_path}/genome.fa.alt" ]] +elif [[ -f "${index_path}/genome.fa.alt" ]] then k8 ${testexe}/bwa-postalt.js -p tmphla ${index_path}/genome.fa.alt out.sam| samtools view -1 - > output.unsort.bam elif [[ $umi == 'umi' ]] diff --git a/variants/norm_annot.sh b/variants/norm_annot.sh index 1f05c4eb73ac1cf2174999ac1e5f665d322d52b5..776c306c6bae5c965e07f648b16ecf1554e14194 100755 --- a/variants/norm_annot.sh +++ b/variants/norm_annot.sh @@ -10,12 +10,13 @@ usage() { exit 1 } OPTIND=1 # Reset OPTIND -while getopts :r:p:v:h opt +while getopts :r:p:v:sh opt do case $opt in p) pair_id=$OPTARG;; v) vcf=$OPTARG;; r) index_path=$OPTARG;; + s) skipnorm=1;; h) usage;; esac done @@ -40,4 +41,9 @@ perl $baseDir\/uniform_vcf_gt.pl $pair_id $vcf bgzip -f ${pair_id}.uniform.vcf j=${pair_id}.uniform.vcf.gz tabix -f $j -bcftools norm --fasta-ref $reffa -m - -Oz $j -o ${pair_id}.norm.vcf.gz +if [[ skipnorm==1 ]] +then + cp $j ${pair_id}.norm.vcf.gz +else + bcftools norm --fasta-ref $reffa -m - -Oz $j -o ${pair_id}.norm.vcf.gz +fi diff --git a/variants/parse_pindel.pl b/variants/parse_pindel.pl index 79e64f0babd98d1fa211800330be873cfc74feb5..3f0031680c793be8789f088ad3ff3e4af661f09c 100755 --- a/variants/parse_pindel.pl +++ b/variants/parse_pindel.pl @@ -79,7 +79,7 @@ while (my $line = <VCF>) { if ($hash{SVTYPE} eq 'DUP:TANDEM') { print DUP join("\t",$chrom,$pos,$id,$ref,$alt,$score,$filter,$annot,$newformat,@newgts),"\n"; }elsif ($hash{SVTYPE} eq 'DEL' || $hash{SVTYPE} eq 'INS') { - if (abs($hash{SVLEN}) < 50) { + if (abs($hash{SVLEN}) < 20) { print SI join("\t",$chrom,$pos,$id,$ref,$alt,$score,$filter,$annot,$newformat,@newgts),"\n"; }else { $newalt = "<".$hash{SVTYPE}.">"; diff --git a/variants/svcalling.sh b/variants/svcalling.sh index d193da7c81973b6e5b754f246774e97e88a002ef..dcda4b7d8d717587138643257a855e662e90b9d8 100755 --- a/variants/svcalling.sh +++ b/variants/svcalling.sh @@ -104,7 +104,10 @@ then else /project/shared/bicf_workflow_ref/seqprg/svaba/bin/svaba run -p $NPROC -G ${reffa} -t ${sbam} -a ${pair_id} fi - java -Xmx10g -jar $SNPEFF_HOME/snpEff.jar -no-intergenic -lof -c $SNPEFF_HOME/snpEff.config ${snpeffgeno} ${pair_id}.svaba.unfiltered.somatic.sv.vcf | bgzip > ${pair_id}.svaba.vcf.gz + vcf-concat ${pair_id}.svaba.unfiltered*sv.vcf | vcf-sort -t temp > svaba.unfiltered.vcf + bash $baseDir/norm_annot.sh -r ${index_path} -p svaba -v svaba.unfiltered.vcf -s + java -Xmx10g -jar $SNPEFF_HOME/snpEff.jar -no-intergenic -lof -c $SNPEFF_HOME/snpEff.config ${snpeffgeno} svaba.norm.vcf | bgzip > svaba.vcf.gz + fi if [[ $method == 'lumpy' ]] diff --git a/variants/uniform_vcf_gt.pl b/variants/uniform_vcf_gt.pl index fd497db5c5da310a7497437bb73bb044798cdd35..9bb7953fdf9d677026a047a4390a3aa9db8bddbe 100755 --- a/variants/uniform_vcf_gt.pl +++ b/variants/uniform_vcf_gt.pl @@ -42,13 +42,17 @@ while (my $line = <VCF>) { foreach my $i (0..$#deschead) { $gtdata{$deschead[$i]} = $gtinfo[$i]; } - if ($gtdata{AD}){ + if ($gtdata{AD} =~ m/\d+,\d+/){ ($gtdata{RO},@alts) = split(/,/,$gtdata{AD}); $gtdata{AO} = join(",",@alts); $gtdata{DP} = $gtdata{RO}; foreach (@alts) { $gtdata{DP} += $_; } + } elsif ($gtdata{AD} =~ m/^\d+$/ && $gtdata{DP}){ + $gtdata{AO} = $gtdata{AD}; + $gtdata{RO} = $gtdata{DP} - $gtdata{AD}; + $gtdata{AD} = join(',',$gtdata{RO},$gtdata{AO}); } elsif (exists $gtdata{NR} && exists $gtdata{NV}) { $gtdata{DP} = $gtdata{NR}; $gtdata{AO} = $gtdata{NV};