diff --git a/alignment/markdups.sh b/alignment/markdups.sh index 9042ac32f3a34f6dc8866caba1afa4f090cbe720..55fc2acc6aa03f853a53b16dd8c37fdc16275f5e 100644 --- a/alignment/markdups.sh +++ b/alignment/markdups.sh @@ -49,10 +49,10 @@ then samtools markdup -s --output-fmt BAM -@ $SLURM_CPUS_ON_NODE sort.bam ${pair_id}.dedup.bam elif [ $algo == 'picard' ] then - java -Djava.io.tmpdir=./ -Xmx16g -jar $PICARD/picard.jar MarkDuplicates I=${sbam} O=${pair_id}.dedup.bam M=${pair_id}.dedup.stat.txt + java -XX:ParallelGCThreads=$SLURM_CPUS_ON_NODE -Djava.io.tmpdir=./ -Xmx16g -jar $PICARD/picard.jar MarkDuplicates I=${sbam} O=${pair_id}.dedup.bam M=${pair_id}.dedup.stat.txt elif [ $algo == 'picard_umi' ] then - java -Djava.io.tmpdir=./ -Xmx16g -jar $PICARD/picard.jar MarkDuplicates BARCODE_TAG=RX I=${sbam} O=${pair_id}.dedup.bam M=${pair_id}.dedup.stat.txt + java -XX:ParallelGCThreads=$SLURM_CPUS_ON_NODE -Djava.io.tmpdir=./ -Xmx16g -jar $PICARD/picard.jar MarkDuplicates BARCODE_TAG=RX I=${sbam} O=${pair_id}.dedup.bam M=${pair_id}.dedup.stat.txt elif [ $algo == 'fgbio_umi' ] then module load fgbio bwa/intel/0.7.15 @@ -63,8 +63,8 @@ then samtools fastq -1 ${pair_id}.consensus.R1.fastq -2 ${pair_id}.consensus.R2.fastq ${pair_id}.consensus.bam gzip ${pair_id}.consensus.R1.fastq gzip ${pair_id}.consensus.R2.fastq - bwa mem -M -C -t 2 -R "@RG\tID:${pair_id}\tLB:tx\tPL:illumina\tPU:barcode\tSM:${pair_id}" /project/shared/bicf_workflow_ref/human/GRCh38/genome.fa ${pair_id}.consensus.R1.fastq.gz ${pair_id}.consensus.R2.fastq.gz | samtools view -1 - > ${pair_id}.consensus.bam - samtools sort --threads 10 -o ${pair_id}.dedup.bam ${pair_id}.consensus.bam + bwa mem -M -C -t $SLURM_CPUS_ON_NODE -R "@RG\tID:${pair_id}\tLB:tx\tPL:illumina\tPU:barcode\tSM:${pair_id}" /project/shared/bicf_workflow_ref/human/GRCh38/genome.fa ${pair_id}.consensus.R1.fastq.gz ${pair_id}.consensus.R2.fastq.gz | samtools view -1 - > ${pair_id}.consensus.bam + samtools sort --threads $SLURM_CPUS_ON_NODE -o ${pair_id}.dedup.bam ${pair_id}.consensus.bam else cp ${sbam} ${pair_id}.dedup.bam fi diff --git a/variants/unionvcf.pl b/variants/unionvcf.pl index 5507c389ee0354553d84f6d20729affba98333c8..1b5ff5d202c6bd49568e6d47aa8e05b4f0d6e6c5 100755 --- a/variants/unionvcf.pl +++ b/variants/unionvcf.pl @@ -122,11 +122,16 @@ foreach $vcf (@vcffiles) { push @gtdesc, join(":",$id,$afinfo{$id}); push @newgts, $newgts{$id}; } - if ($gtfilt{'StrandBias'}) { - $filter = $filter.";strandBias"; - } elsif (($hash{FS} && $hash{FS} > 60) - || ($hash{SAP} && $hash{SAP} > 20)) { - $filter = $filter.";strandBias"; + my @filts = split(";",$filter); + my %filterqc = map {$_ => 1} @filts; + delete $filterqc{'.'}; + if ($gtfilt{'StrandBias'} || ($hash{FS} && $hash{FS} > 60) || + ($hash{SAP} && $hash{SAP} > 20)) { + $filterqc{strandBias} = 1; + }if (scalar(keys %filterqc) > 1) { + $filter = join(";",keys %filterqc); + }else { + $filter = '.'; } $lines{$chrom}{$pos}{$alt}{$caller} = [$chrom,$pos,$id,$ref,$alt,$score,$filter,$annot,$newformat,\@newgts,\@gtdesc]; }