2 # -*- coding: utf-8 -*-
8 from Solexa
import Read
10 def parse(solexa_fid
,pickle_fid
):
12 reader
= csv
.reader(solexa_fid
, delimiter
='\t', quoting
=csv
.QUOTE_NONE
)
17 stmap
= {'P':'-','D':'+'}
25 strand
= stmap
[row
[4]]
32 calibratedProb
= row
[10]
35 prob
= [ord(elem
)-50 for elem
in prob
]
36 calibratedProb
= [ord(elem
)-64 for elem
in calibratedProb
]
37 chastity
= [ord(elem
)+10 for elem
in chastity
]
39 currentRead
= Read(chr,pos
,seq
,strand
,prob
,calibratedProb
,chastity
)
40 allReads
.append(currentRead
)
42 cPickle
.dump(allReads
,pickle_fid
)
44 if __name__
== '__main__':
45 assert len(sys
.argv
) >= 3
46 solexaFile
= sys
.argv
[1]
47 pickleFile
= sys
.argv
[2]
48 assert os
.path
.exists(solexaFile
)
49 assert not os
.path
.exists(pickleFile
)
51 solexa_fid
= open(solexaFile
)
52 pickle_fid
= open(pickleFile
,'w+')
53 parse(solexa_fid
,pickle_fid
)