Search code examples
bioinformaticsgenomesequencingvariants

Error in breseq during running bowtie2


I recently tried to use breseq to analyze a few bacterial sequencing data. However, I got a fatal error when breseq used bowtie2 to align the raw data to the reference genome.

Here is the critical part of the error that I got:
+++ NOW PROCESSING Read alignment to reference genome [system] bowtie2-build -q test_breseq/data/reference.fasta test_breseq/02_reference_alignment/reference [system] bowtie2 -t -p 4 --local -L 31 --ma 1 --mp 3 --np 0 --rdg 2,3 --rfg 2,3 --ignore-quals -k 2000 -i S,1,0.25 --score-min L,0,0.9 --reorder -x test_breseq/02_reference_alignment/reference -U test_breseq/01_sequence_conversion/MRSA_10C.1.converted.fastq -S test_breseq/02_reference_alignment/MRSA_10C.1.stage1.sam --un test_breseq/02_reference_alignment/MRSA_10C.1.stage1.unmatched.fastq Error: the match penalty is greater than 0 (1) but the --score-min function can be less than or equal to zero. Either let the match penalty be 0 or make --score-min always positive. Error: Encountered internal Bowtie 2 exception (#1) Command: /usr/bin/bowtie2-align-s --wrapper basic-0 -t -p 4 --local -L 31 --ma 1 --mp 3 --np 0 --rdg 2,3 --rfg 2,3 --ignore-quals -k 2000 -i S,1,0.25 --score-min L,0,0.9 --reorder -x test_breseq/02_reference_alignment/reference --passthrough -U test_breseq/01_sequence_conversion/MRSA_10C.1.converted.fastq (ERR): bowtie2-align exited with value 1 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!> FATAL ERROR <!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Error running command: [system] bowtie2 -t -p 4 --local -L 31 --ma 1 --mp 3 --np 0 --rdg 2,3 --rfg 2,3 --ignore-quals -k 2000 -i S,1,0.25 --score-min L,0,0.9 --reorder -x test_breseq/02_reference_alignment/reference -U test_breseq/01_sequence_conversion/MRSA_10C.1.converted.fastq -S test_breseq/02_reference_alignment/MRSA_10C.1.stage1.sam --un test_breseq/02_reference_alignment/MRSA_10C.1.stage1.unmatched.fastq Result code: 256 FILE: libbreseq/common.h LINE: 1384 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

All the step before running bowtie2 (samtools, converting FASTQ) worked normally. According to the error, it was because of the score-min function, which has 0 as the minimum score (--score-min L,0,0.9). The command for bowtie2 individually worked when I changed the function to --score-min L,0.1,0.9 (0 is replaced by 0.1). But it looks like this part was encoded in breseq itself (wasn't it?).

A few more details about my problem:
- The command for running breseq was: breseq -o OUTPUT_DIR -j 4 -r REFERENCE.fastq RAWDATA.1.FASTQ.GZ RAWDATA.2.FASTQ.GZ
- Raw data type: MiSeq (150x2)
- bowtie2's version: 2.3.0
- breseq's version: 0.29.0
- OS: Linux 16.04 LTS
- The tests also got a similar error.

Is this a bug or I just used it incorrectly? I would appreciate any comments or recommendations.


Solution

  • That's correct. This error is caused by a change in the new bowtie2 version (2.3.0) to disallow the options breseq uses to call it.

    The next version of breseq will update its options to be compatible with the new bowtie2. I should release this in a week or two. This code is already checked into the GitHub repository if you want to build from that and use bowtie 2.3.0. Or, you can temporarily use version 2.2.9 of bowtie2 with the current version of breseq.