I frequently see people use the --passthrough
argument in their bowtie2 command lines, but I can't find any mention of that argument in the bowtie2 documentation. What does the argument do?
I frequently see people use the --passthrough
argument in their bowtie2 command lines, but I can't find any mention of that argument in the bowtie2 documentation. What does the argument do?
With a minimal example just tested the option. It seems it appends a line after every read in the SAM file (a concatenated version of the fastq entry) starting with @
. This is critical as @
indicates a header line and when you pipe this output into samtools it will throw an error. The option is not even documented in the bowtie2 manual, I personally have never seen it. Not sure whether it might have been added for some development/debug purposes of the developers. Simply don't use it, it is not necessary and will break downstream tools.
$ cat foo.fq
@read1
TAGCTGAC
+
TAGCTGAC
@read2
AAA
+
CGA
$ bowtie2 -x foo --passthrough -U foo.fq
2 reads; of these:
2 (100.00%) were unpaired; of these:
2 (100.00%) aligned 0 times
0 (0.00%) aligned exactly 1 time
0 (0.00%) aligned >1 times
0.00% overall alignment rate
@HD VN:1.0 SO:unsorted
@SQ SN:chr1 LN:30
@PG ID:bowtie2 PN:bowtie2 VN:2.4.2 CL:"/home/a/a_toen03/miniconda3/bin/bowtie2-align-s --wrapper basic-0 -x foo --passthrough -U foo.fq"
read1 4 * 0 0 * * 0 0 TAGCTGAC TAGCTGAC YT:Z:UU
@read1%0ATAGCTGAC%0A+%0ATAGCTGAC%0A
read2 4 * 0 0 * * 0 0 AAA CGA YT:Z:UU
@read2%0AAAA%0A+%0ACGA%0A
Use of this site constitutes acceptance of our User Agreement and Privacy Policy.
Wow! That's pretty weird. Thanks for doing the experiment!
It is noted in
bowtie2
code here: https://github.com/BenLangmead/bowtie2/blob/master/bowtie2