0
|
1 #!/usr/bin/env python
|
|
2
|
|
3 """
|
|
4 Split fixed length paired end reads
|
|
5 """
|
|
6
|
|
7 import os, sys
|
|
8
|
|
9 if __name__ == '__main__':
|
|
10
|
|
11 infile = sys.argv[1]
|
|
12 outfile_end1 = open(sys.argv[2], 'w')
|
|
13 outfile_end2 = open(sys.argv[3], 'w')
|
|
14
|
|
15 i = 0
|
|
16
|
|
17 for line in file( infile ):
|
|
18 line = line.rstrip()
|
|
19
|
|
20 if not line:
|
|
21 continue
|
|
22
|
|
23 end1 = ''
|
|
24 end2 = ''
|
|
25
|
|
26 line_index = i % 4
|
|
27
|
|
28 if line_index == 0:
|
|
29 end1 = line + '/1'
|
|
30 end2 = line + '/2'
|
|
31
|
|
32 elif line_index == 1:
|
|
33 seq_len = len(line)/2
|
|
34 end1 = line[0:seq_len]
|
|
35 end2 = line[seq_len:]
|
|
36
|
|
37 elif line_index == 2:
|
|
38 end1 = line + '/1'
|
|
39 end2 = line + '/2'
|
|
40
|
|
41 else:
|
|
42 qual_len = len(line)/2
|
|
43 end1 = line[0:qual_len]
|
|
44 end2 = line[qual_len:]
|
|
45
|
|
46 outfile_end1.write('%s\n' %(end1))
|
|
47 outfile_end2.write('%s\n' %(end2))
|
|
48
|
|
49 i += 1
|
|
50
|
|
51 if i % 4 != 0 :
|
|
52 sys.stderr.write("WARNING: Number of lines in the input file was not divisible by 4.\nCheck consistency of the input fastq file.\n")
|
|
53 outfile_end1.close()
|
|
54 outfile_end2.close() |