root/galaxy-central/tools/metag_tools/split_paired_reads.py @ 2

リビジョン 2, 1.2 KB (コミッタ: hatakeyama, 14 年 前)

import galaxy-central

行番号 
1#!/usr/bin/env python
2
3"""
4Split fixed length paired end reads
5"""
6
7import os, sys
8
9if __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()   
Note: リポジトリブラウザについてのヘルプは TracBrowser を参照してください。