I aligned same reads from illumina TruSeq stranded mRNA by TopHat v2.1.0 with options as follows.
--library-type fr-firststrand --b2-very-sensitive (a)
or
--library-type fr-secondstrand --b2-very-sensitive (b)
.
The expected result from these two is that two reads are aligned to opposite strand.
(if one read from (a) is mapped to Watson, same read from (b) is mapped to Crick)
But the result is not true.
Attached IGV figure is one region from (a) (upper) and (b) (lower).
Group alignments by read strand
Color alignments by first-of-pair strand.
From this IGV figure, (a)&(b) seems almost same, which mean both mapped to the same strand.
In detail, all paired end reads from (a)&(b) show “F2R1” & XS=+.
Only things different between (a)&(b) is that
from the junction.bed information, detected junctions are
157752 in —fr-firststrand
133764 in —fr-secondstrand
.
So It looks that for junction detection, tophat realize strand correctly.
Alignment summary from each is as follows.
(a) —library-type fr-firststrand
Left reads:
Input : 14818680
Mapped : 14538406 (98.1% of input)
of these: 591224 ( 4.1%) have multiple alignments (6011 have >20)
Right reads:
Input : 14818680
Mapped : 14537783 (98.1% of input)
of these: 591016 ( 4.1%) have multiple alignments (6025 have >20)
98.1% overall read mapping rate.
Aligned pairs: 14407308
of these: 583271 ( 4.0%) have multiple alignments
112022 ( 0.8%) are discordant alignments
96.5% concordant pair alignment rate.
(b) —library-type fr-secondstrand
Left reads:
Input : 14818680
Mapped : 14506964 (97.9% of input)
of these: 585952 ( 4.0%) have multiple alignments (6020 have >20)
Right reads:
Input : 14818680
Mapped : 14504104 (97.9% of input)
of these: 585725 ( 4.0%) have multiple alignments (6034 have >20)
97.9% overall read mapping rate.
Aligned pairs: 14358853
of these: 577354 ( 4.0%) have multiple alignments
111777 ( 0.8%) are discordant alignments
96.1% concordant pair alignment rate.
I know for this library, —fr-firststrand is correct, but from this result, both —fr-firststrand and —fr-secondstrand show same result for bam (at least from the view of IGV)
Does someone know about this strange behavior of tophat2?
One possible reason is that out from tophat include wrong information for strand.
--library-type fr-firststrand --b2-very-sensitive (a)
or
--library-type fr-secondstrand --b2-very-sensitive (b)
.
The expected result from these two is that two reads are aligned to opposite strand.
(if one read from (a) is mapped to Watson, same read from (b) is mapped to Crick)
But the result is not true.
Attached IGV figure is one region from (a) (upper) and (b) (lower).
Group alignments by read strand
Color alignments by first-of-pair strand.
From this IGV figure, (a)&(b) seems almost same, which mean both mapped to the same strand.
In detail, all paired end reads from (a)&(b) show “F2R1” & XS=+.
Only things different between (a)&(b) is that
from the junction.bed information, detected junctions are
157752 in —fr-firststrand
133764 in —fr-secondstrand
.
So It looks that for junction detection, tophat realize strand correctly.
Alignment summary from each is as follows.
(a) —library-type fr-firststrand
Left reads:
Input : 14818680
Mapped : 14538406 (98.1% of input)
of these: 591224 ( 4.1%) have multiple alignments (6011 have >20)
Right reads:
Input : 14818680
Mapped : 14537783 (98.1% of input)
of these: 591016 ( 4.1%) have multiple alignments (6025 have >20)
98.1% overall read mapping rate.
Aligned pairs: 14407308
of these: 583271 ( 4.0%) have multiple alignments
112022 ( 0.8%) are discordant alignments
96.5% concordant pair alignment rate.
(b) —library-type fr-secondstrand
Left reads:
Input : 14818680
Mapped : 14506964 (97.9% of input)
of these: 585952 ( 4.0%) have multiple alignments (6020 have >20)
Right reads:
Input : 14818680
Mapped : 14504104 (97.9% of input)
of these: 585725 ( 4.0%) have multiple alignments (6034 have >20)
97.9% overall read mapping rate.
Aligned pairs: 14358853
of these: 577354 ( 4.0%) have multiple alignments
111777 ( 0.8%) are discordant alignments
96.1% concordant pair alignment rate.
I know for this library, —fr-firststrand is correct, but from this result, both —fr-firststrand and —fr-secondstrand show same result for bam (at least from the view of IGV)
Does someone know about this strange behavior of tophat2?
One possible reason is that out from tophat include wrong information for strand.