Hi,
I've run into something...troublesome when using the samtools library.
I've written a function, left_links, that takes an IdxHandle, reads all
matches in the region (0,350), and filters out just the ones that point
"left". Or so I thought.
Now, I get:
>>> mapM (left_links hx) [0,1]
[[],[HWI-ST132_0396:8:68:20833:155929#CAGATC 81 contig00002 101
37 100M contig05719 12866 0
ACATAATCTATTATGGAGTGTCAATGAATACTGAAATAATCGTTCTTATATACAGTTTTGTCTCATCATAGGCATTTAGTGTACTCCGTAATTTATTTAT
T`^``acdee``]``dbddcddTddbbddbfffcfcddcefeffeffddffdeffdffffeeaeecfdefeeeeeddddcddbdcfffefd`ffefffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:65:17262:142718#CAGATC 145 contig00002
203 37 100M contig05719 12943 0
AATATTGATGTGGAGATCCTAAATCCTCACGATCGAGTCATATATAAATATGATGACAAGTGATTTAAAAATTCAGAAAATGACTCCCCACCTACTGACT
ZZYY[MWWPYU]][\TYb``bbaYbedfdfecYdefcedffffffdfffffffffffffffffffcffff`ffffffeffcc`c[bdddbdddedfffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:44:11689:16164#CAGATC 145 contig00002 237
37 100M contig05719 12975 0
GAGTCATATATAAATATGATGACAAGTGATTTAAAAATTCAGAAAATGACTCCCCACCTACTGACTCTTGAAGTGTATTAAACTAAATTCATATTTTCCA
f\ffdeccfcffffeffeffeffffffffffffffffeeffffefeeeeebdeeeceeeedddbdeceee
fffffffefffffcffffffffffffffff XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0
XM:i:0 XO:i:0 XG:i:0 MD:Z:100]]
*ContigEnds Bio.SamTools.Bam> mapM (left_links hx) [1]
[[HWI-ST132_0396:8:68:20833:155929#CAGATC 81 contig00002 101
37 100M contig05719 12866 0
ACATAATCTATTATGGAGTGTCAATGAATACTGAAATAATCGTTCTTATATACAGTTTTGTCTCATCATAGGCATTTAGTGTACTCCGTAATTTATTTAT
T`^``acdee``]``dbddcddTddbbddbfffcfcddcefeffeffddffdeffdffffeeaeecfdefeeeeeddddcddbdcfffefd`ffefffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:65:17262:142718#CAGATC 145 contig00002
203 37 100M contig05719 12943 0
AATATTGATGTGGAGATCCTAAATCCTCACGATCGAGTCATATATAAATATGATGACAAGTGATTTAAAAATTCAGAAAATGACTCCCCACCTACTGACT
ZZYY[MWWPYU]][\TYb``bbaYbedfdfecYdefcedffffffdfffffffffffffffffffcffff`ffffffeffcc`c[bdddbdddedfffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:44:11689:16164#CAGATC 145 contig00002 237
37 100M contig05719 12975 0
GAGTCATATATAAATATGATGACAAGTGATTTAAAAATTCAGAAAATGACTCCCCACCTACTGACTCTTGAAGTGTATTAAACTAAATTCATATTTTCCA
f\ffdeccfcffffeffeffeffffffffffffffffeeffffefeeeeebdeeeceeeedddbdeceeefff
ffffefffffcffffffffffffffff XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0
XM:i:0 XO:i:0 XG:i:0 MD:Z:100]]
Notice that the first element here is empty.
But if we just ask for this one element:
>>> mapM (left_links hx) [0]
[[HWI-ST132_0396:8:6:15481:161371#CAGATC 113 contig00001 29
37 100M contig159704 127 0
AAAATTCCTTTCCCCCTTACTATTTCCAAAGCATCCACTATTAGCTACAAACGCACAAATATATGGACTCTGAAAGTAACTTATCTGTTGACATTGTAAT
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBddddedfffffffffdfffffefdfeffefffffffffffffffffffffffcffffffffffffffff
XT:A:U NM:i:4 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:4 XO:i:0 XG:i:0
MD:Z:1G4A4A2A85,HWI-ST132_0396:8:45:20259:148018#CAGATC 177 contig00001
106 37 100M contig159704 74 0
AACTTATCTGTTGACATTGTAATTAATAAACTTTGTTGTACTCTCAGTACTTCATTTGGTATAGGTATTTGAATGTGGGAATGCTTTTCAAAATTTTCCG
addadebeeefffffc^fffcffffddddbddddddddddbdeddffffffffffffffffffffeffffffffffffffffcffffeffffffffffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:63:15481:133728#CAGATC 113 contig00001
106 37 100M contig159704 74 0
AACTTATCTGTTGACATTGTAATTAATAAACTTTGTTGTACTCTCAGTACTTCATTTGGTATAGGTATTTGAATGTGGGAATGCTTTTCAAAATTTTCCG
\dfcfecece`ddd`cfcfeceadee^eecdcddcccddae\eeeffedffdfffddfffefffeffffff
fffffffeffeffffffffffefffffff XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0
XM:i:0 XO:i:0 XG:i:0 MD:Z:100,HWI-ST132_0396:8:67:13938:2808#CAGATC 177
contig00001 106 37 100M contig159704 74 0
AACTTATCTGTTGACATTGTAATTAATAAACTTTGTTGTACTCTCAGTACTTCATTTGGTATAGGTATTTGAATGTGGGAATGCTTTTCAAAATTTTCCG
b\bYddcccbddddd`effceffffee`ecdddcdeeeededeedfffffeffffffffffffffeffffffdfffffffffafffffffffffdfffef
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:25:7170:169272#CAGATC 177 contig00001 121
37 100M contig159704 65 0
ATTGTAATTAATAAACTTTGTTGTACTCTCAGTACTTCATTTGGTATAGGTATTTGAATGTGGGAATGCTTTTCAAAATTTTCCGATCGACCAACTTGCA
efdffdddTcdeeebedeeefcffdffffffffcfefffffffffffffffffffffffffffcfffffffffcfffffffffffffeffffffffffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:23:1869:63709#CAGATC 177 contig00001 130
37 100M contig159704 31 0
AATAAACTTTGTTGTACTCTCAGTACTTCATTTGGTATAGGTATTTGAATGTGGGAATGCTTTTCAAAATTTTCCGATCG
ACCAACTTGCATATATTCAA
bbba``d]ddcTdeeceeeceeffefcfefdfcfffe`effffefffeffffdfdcefeefffeaffffffefffdddddded^deffffffffffdfff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:28:12486:20138#CAGATC 113 contig00001 162
37 100M contig159704 36 0
TGGTATAGGTATTTGAATGTGGGAATGCTTTTCAAAATTTTCCGATCGACCAACTTGCATATATTCAAATGTTATGTTACCTCACCTTCCCCTACTGTTC
eeee`afefffdffefcfffeeecefffeffeffefeefffcffffefdffedfffffffffdffffffffffffeeeceeee\dffeeffffffeffff
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100,HWI-ST132_0396:8:64:2843:15899#CAGATC 177 contig00001 174
37 100M contig159704 1 0
TTGAATGTGGGAATGCTTTTCAAAATTTTCCGATCGACCAACTTGCATATATTCAAATGTTATGTTACCTCACCTTCCCCTACTGTTCGTGCATGCCGAA
ed\edddY`dbd\ba\e`ceaeeeecdc\eeffefedeeecdeffeecdeeeeeeeec^eddd\ecYcb^fdfffffeffceefffffffffffffffef
XT:A:U NM:i:0 SM:i:37 AM:i:37 X0:i:1 X1:i:0 XM:i:0 XO:i:0 XG:i:0
MD:Z:100]]
By applying this to only one parameter, we actually get a result. Is
there some state hidden in the IdxHandle? How can I use it safely?
-k
--
If I haven't seen further, it is by standing in the footprints of giants
_______________________________________________
Biohaskell mailing list
[email protected]
http://malde.org/cgi-bin/mailman/listinfo/biohaskell