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];
   }