This is a test version of Biostars. For the public version, visit https://www.biostars.org.
Fastq screen: use bwa aln and not bwa mem

Hi All,

I'm using fastq screen to check some files. It runs fine, but I noticed that when using bwa as aligner it defaults to bwa mem, as mentioned in the docs for the --aligner parameter

... BWA with mem -a

As I have 42bp SE reads I'd rather use bwa aln, which isn't mentioned anywhere in the docs, so I was wondering if there's a way to hack this default and instruct fastq screen to use aln and not mem. I tried to play with the parameter

bwa "<"text">" : Specify extra parameters to be passed to BWA

but I don't seem to get an acceptable syntax. Does anyone know whether this
1) is possible at all
2) if yes, how to do it?

alignment

1 answer

fastq screen is a perl script. How about editing the script and replacing

else {    #BWA
        $aligner_command = "$path_to_bwa mem -a $bwa_opts $illumina_flag -t $number_of_threads $library->[1] \'$file\' 2>$error_filename |";
    }

with a custom script that would wrap 'bwa aln' ?

That's not a bad idea, i'll give it a shot, thanks! Any clue if the .sai file produced by aln would be enough or if I need to wrap samse/sampe as well?

Are you not seeing expected results? Since fastq screen is a quality check (and not serious analysis) you may be ok with the bwa default.

I'm using the --tag --filter parameters to select reads based on alignment on multiple genomes, which I will next map for "serious analysis". It has to map all the files (without subsetting) to multiple genomes and mem is slower than aln for short reads, it's taking ages.

It is rather to optimize the poipeline for the next time I run it rather than for a serious issue with the result

Are you looking to bin the reads subsequently? If you know the genomes you are interested in I suggest you use bbsplit.sh from BBMap suite to do this job once. No need for multiple passes.

Log in to answer this question.